Class 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

    • Constructor Summary

      Constructors 
      Constructor Description
      LockedWrapper()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T with​(javax.jcr.Node lockable, boolean isDeep)
      Executes Locked.run(javax.jcr.Node) while the lock on lockable is held.
      T with​(javax.jcr.Node lockable, boolean isDeep, boolean isSessionScoped)
      Executes Locked.run(javax.jcr.Node) while the lock on lockable is held.
      T with​(javax.jcr.Node lockable, boolean isDeep, long timeout)
      Executes the method Locked.run(javax.jcr.Node) within the scope of a lock held on lockable.
      java.lang.Object with​(javax.jcr.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 Detail

      • LockedWrapper

        public LockedWrapper()
    • Method Detail

      • with

        public T with​(javax.jcr.Node lockable,
                      boolean isDeep)
               throws javax.jcr.RepositoryException,
                      java.lang.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:
        javax.jcr.RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
        java.lang.InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.
      • with

        public T with​(javax.jcr.Node lockable,
                      boolean isDeep,
                      boolean isSessionScoped)
               throws javax.jcr.RepositoryException,
                      java.lang.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:
        javax.jcr.RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
        java.lang.InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.
      • with

        public T with​(javax.jcr.Node lockable,
                      boolean isDeep,
                      long timeout)
               throws javax.jcr.UnsupportedRepositoryOperationException,
                      javax.jcr.RepositoryException,
                      java.lang.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:
        javax.jcr.UnsupportedRepositoryOperationException - if this repository does not support locking.
        javax.jcr.RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
        java.lang.InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.
      • with

        public java.lang.Object with​(javax.jcr.Node lockable,
                                     boolean isDeep,
                                     long timeout,
                                     boolean isSessionScoped)
                              throws javax.jcr.UnsupportedRepositoryOperationException,
                                     javax.jcr.RepositoryException,
                                     java.lang.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:
        javax.jcr.UnsupportedRepositoryOperationException - if this repository does not support locking.
        javax.jcr.RepositoryException - if Locked.run(javax.jcr.Node) throws an exception.
        java.lang.InterruptedException - if this thread is interrupted while waiting for the lock on node lockable.