Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.ifs.beans
Class LockObject

    java.lang.Object
      oracle.ifs.beans.LibraryObject
          oracle.ifs.beans.TieLibraryObject
              oracle.ifs.beans.SystemObject
                  oracle.ifs.beans.TieSystemObject
                      oracle.ifs.beans.LockObject

All Implemented Interfaces:
  IfsEventHandler, LibraryObjectInterface, SystemObjectInterface, Traceable

Direct Known Subclasses:
  TieLockObject

    public class LockObject

extends TieSystemObject

A LockObject encapsulates information associated with a lock on a PublicObject such as the state of the lock, timeout of the lock, and the lock holder.

The different lock types are:

- Unlock - no lock
- Hard lock - the PublicObject cannot be modified nor deleted
- Soft lock - the PublicObject cannot be modified, but can be deleted. Soft locks are generally used to lock older versioned PublicObjects. Older versions should not be modified, but can be deleted.
- User lock - only the lock holder can modify the PublicObject. A PublicObject has a user lock when it is "checked-out". This prevents any other user from modifying the PublicObject until it is checked back in and unlocked.
- Timed lock - used primarily by the WebDAV protocol. A lock is held until the time expires. Upon expiration, the PublicObject is automatically unlocked by the LockAgent.
- Session lock - used primarily by the CM SDK system. The lock is discarded whenever the session ends.

  The LockHolder attribute refers to the DirectoryUser that holds the USERLOCK and is implicitly set for User Lock. Similarly, the LockedForSession attribute is the id of the session that holds the SESSIONLOCK and is implicitly set for Session Lock.

  The LockState attribute is not updateable. Going from one LockState to another using `PublicObject.lock(LockObjectDefinition lodef)` method results in a new LockObject being created. The old LockObject is orphaned. Orphaned LockObjects are freed by the GarbageCollectionAgent.

  A LockObject can be multiply referenced by several PublicObjects. The `PublicObject.lock(LockObject lo)` method enables one to share LockObjects.

  A LockObject can be updated using the `PublicObject.updateLock(LockObject lo)` method. When the `PublicObject.unlock()` method is invoked, the LockObject attribute on the PublicObject is set to null. The LockObject is orphaned and freed by the GarbageCollectionAgent.

  Since the LockObject is a SystemObject, it can only be explicitly created and updated by administrators. They are otherwise created in the context of locking operations through special system options.

  The semantics discussed in the method descriptions below for managing locks on a PublicObject reflect the out-of-the-box locking behavior. The policy for locking/unlocking a PublicObject in various lockstates; modifying and freeing a locked PublicObject can be changed by modifying the Policy on the ClassObject representing that PublicObject. You can also change the Policy for a specific instance, if desired.

  To define a new policy with a custom semantic, construct a Policy object using the API. Details on how to create a new policy are in the Developer's Guide. The OPERATION attribute for the Policy must equal the OPERATION for which you are trying to change the semantic. The implementation for the policy must reside in the server side subclass of LockObject class, i.e. S_TieLockObject or its subclass. The implementation method must also take a server side S_PublicObject as a parameter and be public. The implementation is dynamically invoked.

  The policy can be associated with the ClassObject representing the PublicObject or the instance by using `LibraryObject.putPolicy(Policy po)`. Associating the Policy with the ClassObject affects the behavior for all PublicObjects in the system. Associating the Policy with the instance only applies the policy for that specific instance.

  (Published)

  Field Summary
  `static java.lang.String` | `CLASS_NAME` This class name for this class.
  `static java.lang.String` | `LOCKEDFORSESSION_ATTRIBUTE` Indicates the Long id of the session that holds the lock.
  `static java.lang.String` | `LOCKENTRY_ATTRIBUTE` Indicates the coresponding LockEntry.
  `static java.lang.String` | `LOCKHOLDER_ATTRIBUTE` Indicates the DirectoryUser that is the owner of the lock and is used for USERLOCKs.
  `static java.lang.String` | `LOCKSTATE_ATTRIBUTE` Indicates the integer constant state of the lock and is the type of lock on this object.
  `static int` | `LOCKSTATE_HARDLOCK` Represents a HardLock state.
  `static int` | `LOCKSTATE_SESSIONLOCK` Represents a SessionLock state.
  `static int` | `LOCKSTATE_SOFTLOCK` Represents a SoftLock state.
  `static int` | `LOCKSTATE_UNLOCK` Represents unlock state.
  `static int` | `LOCKSTATE_USERLOCK` Represents a UserLock state.
  `static java.lang.String` | `LOCKTIMEOUT_ATTRIBUTE` The actual time at which the lock on a publicobject should auto-expire.

  Fields inherited from class oracle.ifs.beans.SystemObject
  `ACTIVE_ATTRIBUTE, POLICYBUNDLE_ATTRIBUTE, POLICYLISTS_ATTRIBUTE, PROPERTYBUNDLE_ATTRIBUTE`

  Fields inherited from class oracle.ifs.beans.LibraryObject
  `DOMAIN_UNIQUENAME_DEFAULT_DELIMITER, m_ClassId, m_Id, m_Session, NAME_ATTRIBUTE`

  Constructor Summary
  `protected` | `LockObject(LibrarySession session, java.lang.Long id, java.lang.Long classId, S_LibraryObjectData data)` Constructs a LockObject object.

  Method Summary
  `LockEntry` | `createEquivalentLockEntry(PublicObject po)` Creates an equivalent LockEntry, and updates this instance to refer to it.
  `LockObject` | `getClonedLockObject(PublicObject po)` Returns a LockObject that can be used to lock another PublicObject.
  `static LockObject[]` | `getExpiredTimedLocks(LibrarySession session, int maxItems, int offset)` Gets a set of expired timed LockObjects.
  `long` | `getLockedForSession()` Returns the id of the session that is holding a session lock on the PublicObject (that refer to this lockobject), or returns 0 if the PublicObject that refers to this LockObject has no session lock.
  `LockEntry` | `getLockEntry()` Returns the LockEntry that corresponds to this LockObject.
  `DirectoryUser` | `getLockHolder()` Returns the directory user who holds the lock on the PublicObject(s) (that refer to this lockobject) or null if the lock holder has been deleted.
  `int` | `getLockState()` Returns the lock state of this object
  `java.lang.String` | `getLockStateLabel()` Gets the localized String label for the LockState set for this instance.
  `java.util.Date` | `getLockTimeOut()` Returns the Lock time value for this LockObject.
  `PublicObject[]` | `getReferringPublicObjects()` Get the PublicObjects that refer to this LockObject
  `PublicObject[]` | `getReferringPublicObjects(SortSpecification sort)` Get the PublicObjects that refer to this LockObject, sorted according to the specified SortSpecification.
  `LockObject` | `getShareableLockObject(PublicObject po)` Returns a LockObject that can be used to lock another PublicObject.
  `boolean` | `isLockedForSession()` Returns true if the PublicObject that refers to this LockObject has a session lock i.e.
  `boolean` | `isLockedForSessionByCurrentSession()` Returns true if there is a session lock held by this object, and it is held by the invoking session.
  `boolean` | `isShared()` Checks if this lockobject is referenced by multiple PublicObjects
  `int` | `release()` Release an expired LockObject.
  `void` | `setLockState(int lockstate)` Sets the Lock state of the LockObject
  `void` | `setLockTimeOut(java.util.Date timeout)` Sets the Lock time out of the LockObject.
  `static java.lang.String` | `toLockStateLabel(int lockState)` Converts the specified LockState constant to a localized label.
  `static java.lang.String` | `toLockStateLabel(int lockState, LibrarySession session)` Converts the specified LockState constant to a localized label, using the Localizer from the specified LibrarySession.
  `static java.lang.String` | `toLockStateLabel(int lockState, Localizer localizer)` Converts the specified LockState constant to a localized label, using the specified Localizer.
  `java.lang.String` | `toString()` Return information regarding the LockState and LockHolder
  `protected static LockObject[]` | `vectorToLockObjectArray(java.util.Vector vector)` convert a Vector of LockObject to an array of LockObject.

  Methods inherited from class oracle.ifs.beans.SystemObject
  `addCategory, constructSystemObject, constructSystemObjectVector, free, freeCategories, getCategories, getCategories, getCategories, getCategories, getPolicyBundle, getPolicyLists, handleCreate, isActive, postCreate, postUpdate, preCreate, preUpdate, putPolicy, removeAllPolicies, removePolicy, removePolicy, setActive, setPolicyBundle, setPolicyLists`

  Methods inherited from class oracle.ifs.beans.LibraryObject
  `applyProperties, auditCreated, auditUpdated, checkRequiredAttributeSet, clearCopyContext, clearFreeContext, clearUpdateContext, constructIdArray, constructIdArray, constructLibraryObject, constructLibraryObjectVector, createDedicatedPropertyBundle, deriveDomainUniqueName, dispose, equals, free, get, getAttribute, getAttributeByUpperCaseName, getAttributes, getAttributesByUpperCaseNames, getAuditDomainContext, getAuditEventFolderContext, getClassId, getClassname, getClassName, getClassObject, getCommonName, getCopyContext, getCreateContext, getData, getDefinition, getEffectivePolicyListElements, getEventualAttributeByUpperCaseName, getFreeContext, getId, getLabel, getName, getObjectReferenceAttribute, getOperationActionSpecificationContext, getPropertyBundle, getPropertyValue, getPublicObjectAttribute, getResourceString, getResourceString, getSchemaObjectAttribute, getSession, getSessionInterface, getSharedStateFactory, getStringIdentifier, getSystemObjectAttribute, getTraceLogger, getUpdateContext, handleAdminModeChange, handleEvent, handleFree, handleUpdate, hashCode, hasNameAttribute, invokeOperation, invokeOperation, invokeServerMethod, isConnected, isCoreEventPostingEnabled, isInstanceOf, isTraced, isValidEventType, lockRows, lookupInstanceLabel, postEvent, postEvent, postFree, preFree, prePostAuditEvent, putProperty, putProperty, removeAllProperties, removeProperty, renderAsRandomAccessContent, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, setAttributes, setCopyContext, setFreeContext, setId, setName, setPropertyBundle, setPropertyValue, setUpdateContext, trace, trustHandleCreate, trustHandleCreateAsAdmin, trustHandleFree, trustHandleFreeAsAdmin, trustHandleUpdate, trustHandleUpdateAsAdmin, update, updateAndExposeDefinition, validatePropertyValues, vectorLibraryObjectElement, vectorToLibraryObjectArray, verifyAdministrationMode, verifyConnected, verifySystemUserAccess, verifyTargetObject`

  Methods inherited from class java.lang.Object
  `clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

  Methods inherited from interface oracle.ifs.common.LibraryObjectInterface
  `getAttributeByUpperCaseName, getClassId, getId, getSessionInterface`

  Methods inherited from interface oracle.ifs.common.Traceable
  `getTraceLogger, isTraced, trace`

  Field Detail

  ### CLASS_NAME

      public static final java.lang.String CLASS_NAME

    Description copied from class: `LockObject`
    This class name for this class. Useful for methods that take a class name argument.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKTIMEOUT_ATTRIBUTE

      public static final java.lang.String LOCKTIMEOUT_ATTRIBUTE

    Description copied from class: `LockObject`
    The actual time at which the lock on a publicobject should auto-expire. Represented as a date.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKHOLDER_ATTRIBUTE

      public static final java.lang.String LOCKHOLDER_ATTRIBUTE

    Description copied from class: `LockObject`
    Indicates the DirectoryUser that is the owner of the lock and is used for USERLOCKs.
    This will be implicitly set for UserLocks and is not settable directly on the object.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKSTATE_ATTRIBUTE

      public static final java.lang.String LOCKSTATE_ATTRIBUTE

    Description copied from class: `LockObject`
    Indicates the integer constant state of the lock and is the type of lock on this object. The different states control the circumstances under which this object can be modified and/or deleted.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKEDFORSESSION_ATTRIBUTE

      public static final java.lang.String LOCKEDFORSESSION_ATTRIBUTE

    Description copied from class: `LockObject`
    Indicates the Long id of the session that holds the lock. This will be implicitly set for SessionLocks and is not settable.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKENTRY_ATTRIBUTE

      public static final java.lang.String LOCKENTRY_ATTRIBUTE

    Description copied from class: `LockObject`
    Indicates the coresponding LockEntry.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKSTATE_UNLOCK

      public static final int LOCKSTATE_UNLOCK

    Description copied from class: `LockObject`
    Represents unlock state. FIXME unlock state not required. a lockobject of null implies an unlock. deprecate in next release

    See Also:
      Constant Field Values
    (Unpublished)

  ### LOCKSTATE_HARDLOCK

      public static final int LOCKSTATE_HARDLOCK

    Description copied from class: `LockObject`
    Represents a HardLock state. No modifications or deletions are allowed on a hard locked PublicObject.

    A PublicObject can be hard locked by either:

    - an administrator
    - a user with Lock and Update permission on the PublicObject

    A PublicObject that is hard locked can be unlocked by an administrator or by a user with Unlock and Update permission.

    A PublicObject can be hard locked if it is currently:

    - unlocked
    - user locked by current user
    - session locked by current session

    If the current state is soft lock, the PublicObject has to first be unlocked before attempting a hard lock.

    To share a LockObject that is in the hard lock state using the `PublicObject.lock(LockObject lo)`, the user must have Lock permission in the ACL of the PublicObject that is going to share the LockObject.

    To update a LockObject that is in hard lock state using the `PublicObject.updateLock(LockObjectDefinition lodef)` method, the user must have Lock permission in the ACL of the PublicObject that is referred to by this LockObject.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKSTATE_SOFTLOCK

      public static final int LOCKSTATE_SOFTLOCK

    Description copied from class: `LockObject`
    Represents a SoftLock state. No modifications are allowed on a soft locked PublicObject.

    A PublicObject can be soft locked by either:

    - an administrator
    - a user with Lock and Update permission on the PublicObject

    A PublicObject that is soft locked can be unlocked by an administrator or by a user with unlock and Update permission.

    A PublicObject can be soft locked if it is currently:

    - unlocked
    - user locked by current user
    - session locked by current session

    If current state is hard lock, the PublicObject has to first be unlocked before attempting a soft lock.

    To share a LockObject that is in the soft lock state using the `PublicObject.lock(LockObject lo)`, the user must have the Lock permission in the ACL of the PublicObject that is going to share the LockObject.

    To update a LockObject that is in the soft lock state using the `PublicObject.updateLock(LockObjectDefinition lodef)` method, the user must have Lock permission in the ACL of the PublicObject that is referred to by this LockObject.

    CM SDK uses soft locks in its default versioning policy to prevent previous versions from being modified.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKSTATE_USERLOCK

      public static final int LOCKSTATE_USERLOCK

    Description copied from class: `LockObject`
    Represents a UserLock state. No modifications or deletions are allowed by anyone other than the user holding the lock.

    A PublicObject can be user locked by:

    - an administrator
    - a user with Update permission

    A PublicObject that is user locked can be unlocked by the user who locked it or by an administrator.

    A PublicObject can be user locked if it is currently:

    - unlocked
    - session locked by current session

    If the current state is hard or soft locked, the PublicObject cannot be user locked. It will have to first be unlocked.

    To share a LockObject that is in the user locked state using the `PublicObject.lock(LockObject lo)` method, the user requesting to share the lock must be the LockHolder on this LockObject.

    To update a LockObject that is in the user locked state using the `PublicObject.updateLock(LockObjectDefinition lodef)` method, the user requesting to update the lock must be the LockHolder on this LockObject.

    CM SDK uses the user lock state to lock Family, VersionSeries, VersionDescription and Document upon checking out a versioned document in its default versioning policy.

    See Also:
      Constant Field Values
    (Published)

  ### LOCKSTATE_SESSIONLOCK

      public static final int LOCKSTATE_SESSIONLOCK

    Description copied from class: `LockObject`
    Represents a SessionLock state. No modifications or deletions are allowed by anyone other than the session holding the session lock.

    A PublicObject can be session locked by:

    - an administrator
    - a user with update permission.

    A PublicObject that is session locked can only be unlocked by the session that holds the lock or by an administrator.

    If the session ends without unlocking the session lock on a PublicObject, CM SDK automatically releases the lock on the PublicObject.

    A PublicObject can be session locked if it is currently:

    - unlocked
    - user locked by the user who owns the current session

    If the current state is hard or soft locked, a PublicObject cannot be session locked. It will have to first be unlocked.

    To share a LockObject that is in the session lock state using the `PublicObject.lock(LockObject lo)` method, the session id of the session requesting to share the lock must be same as the LockedForSession attribute value on this LockObject.

    To update a LockObject that is in the session lock state using the `PublicObject.updateLock(LockObjectDefinition lodef)` method, the session id of the session requesting to update the lock must be the same as the LockedForSession attribute value on this LockObject.

    See Also:
      Constant Field Values
    (Published)

  Constructor Detail

  ### LockObject

      protected LockObject(LibrarySession session,
                           java.lang.Long id,
                           java.lang.Long classId,
                           S_LibraryObjectData data)
                    throws IfsException

    Constructs a LockObject object.

    Parameters:
      `session` - current LibrarySession
      `id` - object id
      `classId` - class id
      `data` - data components
    Throws:
      `IfsException` - if the operation fails
    (Unpublished)

  Method Detail

  ### getLockTimeOut

      public java.util.Date getLockTimeOut()
                                    throws IfsException

    Description copied from class: `LockObject`
    Returns the Lock time value for this LockObject. That is the time at which the lock on the PublicObject (that refers to this LockObject) automatically expires. If there is no time-out specified on the Lock, it returns null

    Returns:
      the time at which the lock should automatically expire, or null if there is no time-out
    Throws:
      `IfsException` - if operation fails
    (Published)

  ### setLockTimeOut

      public void setLockTimeOut(java.util.Date timeout)
                          throws IfsException

    Description copied from class: `LockObject`
    Sets the Lock time out of the LockObject. It is the actual time at which the lock on the PublicObject (that refers to this LockObject) automatically expires.

    Parameters:
      `timeout` - the actual time at which the lock should expire
    Throws:
      `IfsException` - if operation fails
    (Published)

  ### getLockState

      public int getLockState()
                       throws IfsException

    Description copied from class: `LockObject`
    Returns the lock state of this object

    Returns:
      The integer lock state
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### setLockState

      public void setLockState(int lockstate)
                        throws IfsException

    Description copied from class: `LockObject`
    Sets the Lock state of the LockObject

    Parameters:
      `lockstate` - lockstate the integer value for the lockstate
    Throws:
      `IfsException` - if operation fails
    (Published)

  ### getLockHolder

      public DirectoryUser getLockHolder()
                                  throws IfsException

    Description copied from class: `LockObject`
    Returns the directory user who holds the lock on the PublicObject(s) (that refer to this lockobject) or null if the lock holder has been deleted.

    Returns:
      the lockholder of the Lock, or null if the lock does not have a lockholder
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### getLockEntry

      public LockEntry getLockEntry()
                             throws IfsException

    Description copied from class: `LockObject`
    Returns the LockEntry that corresponds to this LockObject.

    Returns:
      the corresponding LockEntry
    Throws:
      `IfsException` - if the operation fails.

  ### getLockedForSession

      public long getLockedForSession()
                               throws IfsException

    Description copied from class: `LockObject`
    Returns the id of the session that is holding a session lock on the PublicObject (that refer to this lockobject), or returns 0 if the PublicObject that refers to this LockObject has no session lock.

    Returns:
      the session id of the session holding a lock on this object.
    Throws:
      `IfsException` - if operation fails.
    (Unpublished)

  ### isLockedForSession

      public boolean isLockedForSession()
                                 throws IfsException

    Description copied from class: `LockObject`
    Returns true if the PublicObject that refers to this LockObject has a session lock i.e. the LockState of this object is LOCKSTATE_SESSIONLOCK and it has a LockedForSession attribute value that is not 0.

    Returns:
      true if there is a session lock held on this object.
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### isLockedForSessionByCurrentSession

      public boolean isLockedForSessionByCurrentSession()
                                                 throws IfsException

    Description copied from class: `LockObject`
    Returns true if there is a session lock held by this object, and it is held by the invoking session.

    Returns:
      true if there is a session lock held by this object, and it is held by the invoking session.
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### getShareableLockObject

      public LockObject getShareableLockObject(PublicObject po)
                                        throws IfsException

    Description copied from class: `LockObject`
    Returns a LockObject that can be used to lock another PublicObject.

    Creates a clone of the target object unless it is a SystemLockObject, or if it is not yet assocated with any PublicObject.

    Parameters:
      `po` - the PublicObject being locked with this instance
    Returns:
      the LockObject that can be applied to a PublicObject
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### getClonedLockObject

      public LockObject getClonedLockObject(PublicObject po)
                                     throws IfsException

    Description copied from class: `LockObject`
    Returns a LockObject that can be used to lock another PublicObject.

    Creates a clone of the target object unless it is a SystemLockObject, or if it is not yet assocated with any PublicObject.

    Parameters:
      `po` - the PublicObject being locked with this instance
    Returns:
      the LockObject that can be applied to a PublicObject
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### createEquivalentLockEntry

      public LockEntry createEquivalentLockEntry(PublicObject po)
                                          throws IfsException

    Description copied from class: `LockObject`
    Creates an equivalent LockEntry, and updates this instance to refer to it.

    Parameters:
      `po` - the PublicObject being locked with this instance
    Returns:
      the equivalent LockEntry, associated with this object
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### getLockStateLabel

      public java.lang.String getLockStateLabel()
                                         throws IfsException

    Description copied from class: `LockObject`
    Gets the localized String label for the LockState set for this instance.

    Returns:
      the label corresponding to the LockState
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### toLockStateLabel

      public static java.lang.String toLockStateLabel(int lockState)
                                               throws IfsException

    Description copied from class: `LockObject`
    Converts the specified LockState constant to a localized label. The default Localizer is used.

    Parameters:
      `lockState` - the LockState constant.
    Returns:
      the label corresponding to the specified LockState constant.
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### toLockStateLabel

      public static java.lang.String toLockStateLabel(int lockState,
                                                      LibrarySession session)
                                               throws IfsException

    Description copied from class: `LockObject`
    Converts the specified LockState constant to a localized label, using the Localizer from the specified LibrarySession.

    Parameters:
      `lockState` - the LockState constant
      `session` - the LibrarySession, whose current Localizer will be used for the conversion
    Returns:
      the label corresponding to the specified LockState constant
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### toLockStateLabel

      public static java.lang.String toLockStateLabel(int lockState,
                                                      Localizer localizer)
                                               throws IfsException

    Description copied from class: `LockObject`
    Converts the specified LockState constant to a localized label, using the specified Localizer. If a null is specified for the Localizer, a temporary Localizer (constructed based on the default Locale) is used for the conversion.

    Parameters:
      `lockState` - the LockState constant.
      `localizer` - the Localizer that performs the conversion
    Returns:
      the label corresponding to the specified LockState constant.
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### getReferringPublicObjects

      public PublicObject[] getReferringPublicObjects()
                                               throws IfsException

    Description copied from class: `LockObject`
    Get the PublicObjects that refer to this LockObject

    Returns:
      array of PublicObjects that refer to this LockObject
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### getReferringPublicObjects

      public PublicObject[] getReferringPublicObjects(SortSpecification sort)
                                               throws IfsException

    Description copied from class: `LockObject`
    Get the PublicObjects that refer to this LockObject, sorted according to the specified SortSpecification.

    Parameters:
      `sort` - specification of how the referring PublicObjects are to be sorted
    Returns:
      array of PublicObjects that refer to this LockObject
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### isShared

      public boolean isShared()
                       throws IfsException

    Description copied from class: `LockObject`
    Checks if this lockobject is referenced by multiple PublicObjects

    Returns:
      boolean indicating if this lockobject is shared by multiple PublicObjects
    Throws:
      `IfsException` - if operation fails.
    (Published)

  ### getExpiredTimedLocks

      public static LockObject[] getExpiredTimedLocks(LibrarySession session,
                                                      int maxItems,
                                                      int offset)
                                               throws IfsException

    Description copied from class: `LockObject`
    Gets a set of expired timed LockObjects. Used by the LockAgent to release LockObjects that have expired.

    Parameters:
      `session` - the admin-enabled session
      `maxItems` - the maximum number of entries to return
      `offset` - the offset for the query
    Returns:
      a set of LockObjects that have expired.
    Throws:
      `IfsException` - if the operation fails
    (Unpublished)

  ### release

      public int release()
                  throws IfsException

    Description copied from class: `LockObject`
    Release an expired LockObject. This is invoked by the LockAgent for LockObjects whose LockTimeoutValue indicates that the lock has expired. All PublicObjects that refer to this LockObject will have their LockObject attribute cleared, and the LockObject will be freed.

    Returns:
      the number of PublicObjects effectively unlocked as a result of releasing the expired LockObject
    Throws:
      `IfsException` - if the operation fails
    (Unpublished)

  ### toString

      public java.lang.String toString()

    Description copied from class: `LockObject`
    Return information regarding the LockState and LockHolder

    Returns information in the format LockState = : UserLockHolder = or LockState = : LockedForSession By Session ID =

    Overrides:
      `toString` in class `LibraryObject`
    Returns:
      the name of this object.
    (Published)

  ### vectorToLockObjectArray

      protected static LockObject[] vectorToLockObjectArray(java.util.Vector vector)

    Description copied from class: `LockObject`
    convert a Vector of LockObject to an array of LockObject.

    Parameters:
      `vector` - Vector of LockObject objects
    Returns:
      congruent array
    (Unpublished)

  Overview | Package | Class | Tree | Deprecated | Index | Help
  PREV CLASS NEXT CLASS | FRAMES NO FRAMES
  SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD