Class OperationHandleImpl<T extends Annotation>

java.lang.Object
org.glassfish.hk2.extras.operation.internal.OperationHandleImpl<T>
All Implemented Interfaces:
OperationHandle<T>

public class OperationHandleImpl<T extends Annotation> extends Object implements OperationHandle<T>
  • Field Details

  • Constructor Details

  • Method Details

    • getIdentifier

      public OperationIdentifier<T> getIdentifier()
      Description copied from interface: OperationHandle
      Returns a unique identifier for this operation
      Specified by:
      getIdentifier in interface OperationHandle<T extends Annotation>
      Returns:
      A non-null unique identifier for this operation
    • getState

      public OperationState getState()
      Description copied from interface: OperationHandle
      Gets the current state of this operation
      Specified by:
      getState in interface OperationHandle<T extends Annotation>
      Returns:
      The current state of this operation
    • shutdownByFiat

      void shutdownByFiat()
      operationLock must be held
    • checkState

      private void checkState()
    • getActiveThreads

      public Set<Long> getActiveThreads()
      Description copied from interface: OperationHandle
      Gets a set of threads upon which this Operation is active
      Specified by:
      getActiveThreads in interface OperationHandle<T extends Annotation>
      Returns:
      The set of threads upon which this Operation is active
    • suspend

      public void suspend(long threadId)
      Description copied from interface: OperationHandle
      Suspends this operation on the given thread id. If this Operation is not associated with the given threadId this method does nothing
      Specified by:
      suspend in interface OperationHandle<T extends Annotation>
      Parameters:
      threadId - The thread on which to suspend this operation
    • suspend

      public void suspend()
      Description copied from interface: OperationHandle
      Suspends this operation on the current thread. If this Operation is not associated with the current threadId this method does nothing
      Specified by:
      suspend in interface OperationHandle<T extends Annotation>
    • resume

      public void resume(long threadId) throws IllegalStateException
      Description copied from interface: OperationHandle
      Resumes this operation on the given thread id. If this Operation is already associated with the given threadId this method does nothing
      Specified by:
      resume in interface OperationHandle<T extends Annotation>
      Parameters:
      threadId - The thread on which to resume this operation
      Throws:
      IllegalStateException - if the Operation is closed or if the given thread is associated with a different Operation of the same type
    • resume

      public void resume() throws IllegalStateException
      Description copied from interface: OperationHandle
      Resumes this operation on the current thread. If this Operation is already associated with the current thread this method does nothing
      Specified by:
      resume in interface OperationHandle<T extends Annotation>
      Throws:
      IllegalStateException - if the Operation is closed or if the current thread is associated with a different Operation of the same type
    • closeOperation

      public void closeOperation()
      Description copied from interface: OperationHandle
      suspends this Operation on all threads where it is associated and closes the operation. All resume calls on this handle after this is called will throw IllegalStateException. If this handle is already closed this method does nothing
      Specified by:
      closeOperation in interface OperationHandle<T extends Annotation>
    • getOperationData

      public Object getOperationData()
      Description copied from interface: OperationHandle
      Gets arbitrary Operation data to be associated with this Operation
      Specified by:
      getOperationData in interface OperationHandle<T extends Annotation>
      Returns:
      Arbitrary (possibly null) data that is associated with this Operation
    • setOperationData

      public void setOperationData(Object data)
      Description copied from interface: OperationHandle
      Sets arbitrary Operation data to be associated with this Operation
      Specified by:
      setOperationData in interface OperationHandle<T extends Annotation>
      Parameters:
      data - (possibly null) data that is associated with this Operation
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object