org.multiverse.stms.alpha.programmatic
Class AlphaProgrammaticLongRef
java.lang.Object
org.multiverse.stms.alpha.mixins.BasicMixin
org.multiverse.stms.alpha.programmatic.AlphaProgrammaticLongRef
- All Implemented Interfaces:
- org.multiverse.api.commitlock.CommitLock, org.multiverse.api.programmatic.ProgrammaticLongRef, org.multiverse.MultiverseConstants, AlphaTransactionalObject
public final class AlphaProgrammaticLongRef
- extends BasicMixin
- implements org.multiverse.api.programmatic.ProgrammaticLongRef
The AlphaStm specific implementation of the ProgrammaticLongRef.
- Author:
- Peter Veentjer
| Fields inherited from interface org.multiverse.MultiverseConstants |
___BUGSHAKER_ENABLED, ___TRACING_ENABLED |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AlphaProgrammaticLongRef
public AlphaProgrammaticLongRef(long value)
AlphaProgrammaticLongRef
public AlphaProgrammaticLongRef(AlphaStm stm,
long value)
AlphaProgrammaticLongRef
public AlphaProgrammaticLongRef(AlphaTransaction tx,
long value)
createUncommitted
public static AlphaProgrammaticLongRef createUncommitted(AlphaStm stm)
get
public long get()
- Specified by:
get in interface org.multiverse.api.programmatic.ProgrammaticLongRef
get
public long get(org.multiverse.api.Transaction tx)
- Specified by:
get in interface org.multiverse.api.programmatic.ProgrammaticLongRef
atomicGet
public long atomicGet()
- Specified by:
atomicGet in interface org.multiverse.api.programmatic.ProgrammaticLongRef
set
public long set(long newValue)
- Specified by:
set in interface org.multiverse.api.programmatic.ProgrammaticLongRef
set
public long set(org.multiverse.api.Transaction tx,
long newValue)
- Specified by:
set in interface org.multiverse.api.programmatic.ProgrammaticLongRef
atomicSet
public long atomicSet(long newValue)
- Specified by:
atomicSet in interface org.multiverse.api.programmatic.ProgrammaticLongRef
inc
public void inc(long amount)
- Specified by:
inc in interface org.multiverse.api.programmatic.ProgrammaticLongRef
inc
public void inc(org.multiverse.api.Transaction tx,
long amount)
- Specified by:
inc in interface org.multiverse.api.programmatic.ProgrammaticLongRef
commutingInc
public void commutingInc(long amount)
- Specified by:
commutingInc in interface org.multiverse.api.programmatic.ProgrammaticLongRef
commutingInc
public void commutingInc(org.multiverse.api.Transaction tx,
long amount)
- Specified by:
commutingInc in interface org.multiverse.api.programmatic.ProgrammaticLongRef
atomicInc
public void atomicInc(long amount)
- Specified by:
atomicInc in interface org.multiverse.api.programmatic.ProgrammaticLongRef
atomicCompareAndSet
public boolean atomicCompareAndSet(long expected,
long update)
- Specified by:
atomicCompareAndSet in interface org.multiverse.api.programmatic.ProgrammaticLongRef
changeMod
public void changeMod()
- Specified by:
changeMod in interface org.multiverse.api.programmatic.ProgrammaticLongRef
changeMod
public void changeMod(org.multiverse.api.Transaction tx)
- Specified by:
changeMod in interface org.multiverse.api.programmatic.ProgrammaticLongRef
atomicChangeMod
public void atomicChangeMod()
- Specified by:
atomicChangeMod in interface org.multiverse.api.programmatic.ProgrammaticLongRef
___openForCommutingOperation
public AlphaTranlocal ___openForCommutingOperation()
- Description copied from interface:
AlphaTransactionalObject
- Opens this AlphaTransactionalObject for a commuting operation.
- Specified by:
___openForCommutingOperation in interface AlphaTransactionalObject- Overrides:
___openForCommutingOperation in class BasicMixin
- Returns:
- the AlphaTranlocal opened
___openUnconstructed
public AlphaTranlocal ___openUnconstructed()
- Description copied from interface:
AlphaTransactionalObject
- Creates a fresh AlphaTranlocal. This can be used when a write on a tranlocal needs to be done, but no tranlocal
has been created yet (so should be created in the constructor).
- Specified by:
___openUnconstructed in interface AlphaTransactionalObject
- Returns:
- the created AlphaTranlocal.
Copyright © 2008-2010 Multiverse. All Rights Reserved.