Enum LockMode

java.lang.Object
java.lang.Enum<LockMode>
org.multiverse.api.LockMode
All Implemented Interfaces:
Serializable, Comparable<LockMode>, java.lang.constant.Constable, MultiverseConstants

public enum LockMode extends Enum<LockMode> implements MultiverseConstants
Using the LockMode one can control the pessimistic nature of a Txn.

Normally transactions are very optimistic (e.g. fail during execution or at the end because some read or write conflict was detected), but in some cases a more pessimistic approach is better. For more information see Lock.

See Also:
  • Enum Constant Details

    • None

      public static final LockMode None
      No locking is done.
    • Read

      public static final LockMode Read
      The LockMode.Read prevents others to acquire the Write/Exclusive-lock, but it allows others to acquire the Read lock. Unlike a traditional read/write-lock, it doesn't have to mean that other transactions can't write, it only prevents others from committing.
    • Write

      public static final LockMode Write
      The LockMode.Write prevents others to acquire the Read/Write/Exclusive-lock. Unlike a traditional read-write lock, it doesn't have to mean that other transactions can't read or write, they only can't commit since the Exclusive lock is acquired for that (managed by the STM).
    • Exclusive

      public static final LockMode Exclusive
      The ExclusiveLock can be compared with the writelock of a traditional read/write lock. once the Exclusive lock is acquired no other transaction can acquire any lock or can do any reading/writing (unless the transaction previously has read the transactional object).

      The ExclusiveLock is the Lock acquired by the STM once a Txn is prepared for writing changes to a TxnObject.

  • Field Details

    • lockModeAsInt

      private int lockModeAsInt
  • Constructor Details

    • LockMode

      private LockMode(int lockModeAsInt)
  • Method Details

    • values

      public static LockMode[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static LockMode valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • asInt

      public int asInt()