Class AccessMode

java.lang.Object
org.exolab.castor.mapping.AccessMode
All Implemented Interfaces:
Serializable, Cloneable, Comparable

public class AccessMode extends Object implements Cloneable, Comparable, Serializable
The access mode for a class. This object is used by class descriptors to specify the access mode for a class.

In persistent storage each class is defined as having one of three access modes:

  • Read only
  • Shared (aka optimistic locking)
  • Exclusive (aka pessimistic locking)
  • DbLocked (database lock)
Transactions typically access objects based on the specified access mode. A transaction may be requested to access any object as read only or exclusive, but may not access exclusive objects as shared.
Version:
$Revision: 6907 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Assaf Arkin, Ralf Joachim
See Also:
  • Field Details

    • ReadOnly

      public static final AccessMode ReadOnly
      Read only access. Objects can be read but are not made persistent and changes to objects are not reflected in persistent storage.
    • Shared

      public static final AccessMode Shared
      Shared access. Objects can be read by multiple concurrent transactions. Equivalent to optimistic locking.
    • Exclusive

      public static final AccessMode Exclusive
      Exclusive access. Objects can be access by a single transaction at any given time. Equivalent to pessimistic locking.
    • DbLocked

      public static final AccessMode DbLocked
      DbLocked access. Objects can be access by a single transaction at any given time, and a lock is acquired in the database.
  • Method Details

    • valueOf

      public static AccessMode valueOf(String accessMode)
      Returns the access mode from the name. If accessMode is null, return the default access mode (Shared). Otherwise returns the named access mode.
      Parameters:
      accessMode - The access mode name
      Returns:
      The access mode
    • valueOf

      public static AccessMode valueOf(short accessMode)
    • getId

      public short getId()
    • getName

      public String getName()
    • toString

      public String toString()
      Returns the String representation of this kind.
      Overrides:
      toString in class Object
      Returns:
      String representation of this kind.
    • clone

      public Object clone()
      Clone only returns the one and only instance of this kind.
      Overrides:
      clone in class Object
      Returns:
      The original instance.
    • equals

      public boolean equals(Object other)
      Returns if the specified object and this are one and the same instance.
      Overrides:
      equals in class Object
      Parameters:
      other - Object to be compared with this instance.
      Returns:
      true if other equals this else false.
    • hashCode

      public int hashCode()
      Returns the hash code of this object.
      Overrides:
      hashCode in class Object
      Returns:
      Hash code of this object.
    • compareTo

      public int compareTo(Object other)
      Compares id against id of the specified object. So this method is inconsistent with equals(Object).
      Specified by:
      compareTo in interface Comparable
      Parameters:
      other - Object to be compared with this instance.
      Returns:
      A negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
    • compareTo

      public int compareTo(AccessMode other)
    • readResolve

      protected Object readResolve()
      Called during deserialization.
      Returns:
      The existing instance of the enum.
      So you can use '==' like 'equals' even if you use a deserialized Enum.