Class LockedWrapper<T>

java.lang.Object
org.apache.jackrabbit.util.Locked
org.apache.jackrabbit.util.LockedWrapper<T>

public abstract class LockedWrapper<T> extends Locked
LockedWrapper is a wrapper class to Locked which adds generics support and wraps the Locked.TIMED_OUT object into a LockException.
  • Field Summary

    Fields inherited from class org.apache.jackrabbit.util.Locked

    TIMED_OUT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    with(Node lockable, boolean isDeep)
    Executes Locked.run(javax.jcr.Node) while the lock on lockable is held.
    with(Node lockable, boolean isDeep, boolean isSessionScoped)
    Executes Locked.run(javax.jcr.Node) while the lock on lockable is held.
    with(Node lockable, boolean isDeep, long timeout)
    Executes the method Locked.run(javax.jcr.Node) within the scope of a lock held on lockable.
    with(Node lockable, boolean isDeep, long timeout, boolean isSessionScoped)
    Executes the method Locked.run(javax.jcr.Node) within the scope of a lock held on lockable.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LockedWrapper

      public LockedWrapper()
  • Method Details

    • with

      public T with(Node lockable, boolean isDeep) throws RepositoryException, InterruptedException
      Description copied from class: Locked
      Executes Locked.run(javax.jcr.Node) while the lock on lockable is held. This method will block until Locked.run(javax.jcr.Node) is executed while holding the lock on node lockable.
      Overrides:
      with in class Locked
      Parameters:
      lockable - a lockable node.
      isDeep - true if lockable will be locked deep.
      Returns:
      the object returned by Locked.run(javax.jcr.Node).
      Throws:
      RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
      InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.
    • with

      public T with(Node lockable, boolean isDeep, boolean isSessionScoped) throws RepositoryException, InterruptedException
      Description copied from class: Locked
      Executes Locked.run(javax.jcr.Node) while the lock on lockable is held. This method will block until Locked.run(javax.jcr.Node) is executed while holding the lock on node lockable.
      Overrides:
      with in class Locked
      Parameters:
      lockable - a lockable node.
      isDeep - true if lockable will be locked deep.
      isSessionScoped - true if the lock is session scoped.
      Returns:
      the object returned by Locked.run(javax.jcr.Node).
      Throws:
      RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
      InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.
    • with

      public T with(Node lockable, boolean isDeep, long timeout) throws UnsupportedRepositoryOperationException, RepositoryException, InterruptedException
      Description copied from class: Locked
      Executes the method Locked.run(javax.jcr.Node) within the scope of a lock held on lockable.
      Overrides:
      with in class Locked
      Parameters:
      lockable - the node where the lock is obtained from.
      isDeep - true if lockable will be locked deep.
      timeout - time in milliseconds to wait at most to acquire the lock.
      Returns:
      the object returned by Locked.run(javax.jcr.Node) or Locked.TIMED_OUT if the lock on lockable could not be acquired within the specified timeout.
      Throws:
      UnsupportedRepositoryOperationException - if this repository does not support locking.
      RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
      InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.
    • with

      public Object with(Node lockable, boolean isDeep, long timeout, boolean isSessionScoped) throws UnsupportedRepositoryOperationException, RepositoryException, InterruptedException
      Description copied from class: Locked
      Executes the method Locked.run(javax.jcr.Node) within the scope of a lock held on lockable.
      Overrides:
      with in class Locked
      Parameters:
      lockable - the node where the lock is obtained from.
      isDeep - true if lockable will be locked deep.
      timeout - time in milliseconds to wait at most to acquire the lock.
      isSessionScoped - true if the lock is session scoped.
      Returns:
      the object returned by Locked.run(javax.jcr.Node) or Locked.TIMED_OUT if the lock on lockable could not be acquired within the specified timeout.
      Throws:
      UnsupportedRepositoryOperationException - if this repository does not support locking.
      RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
      InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.