Interface OperationManager

  • All Known Implementing Classes:
    OperationManagerImpl

    @Contract
    public interface OperationManager
    Manages HK2 operations, allowing the user to create new operations of a particular type or discover the current set of active operations or find the current operation on the current thread

    Operations are categorized by the Annotation type. The annotation type corresponds to the annotation class used in the extension of the OperationContext which defines the scope of the Operation. Most of the methods for this service take an implementation of that annotation class, which is usually implemented by extending AnnotationLiteral

    Author:
    jwells
    • Method Detail

      • createOperation

        <T extends AnnotationOperationHandle<T> createOperation​(T scope)
        Creates an OperationHandle. The returned handle will not be associated with any threads. The scope parameter is normally created with AnnotationLiteral
        Parameters:
        scope - The scope annotation for this operation type
        Returns:
        A non-null OperationHandle that can be used to associate threads with the Operation
      • createAndStartOperation

        <T extends AnnotationOperationHandle<T> createAndStartOperation​(T scope)
        Creates an OperationHandle that will be associated with the thread calling this method. The scope parameter is normally created with AnnotationLiteral
        Parameters:
        scope - The scope annotation for this operation type
        Returns:
        A non-null OperationHandle that can be used to associate threads with the Operation
        Throws:
        IllegalStateException - if the current thread is associated with a different Operation of the same type
      • getCurrentOperation

        <T extends AnnotationOperationHandle<T> getCurrentOperation​(T scope)
        Gets the current operation of scope type on the current thread. The scope parameter is normally created with AnnotationLiteral
        Parameters:
        scope - The scope annotation for this operation type
        Returns:
        The current operation of the given type on this thread. May be null if there is no active operation on this thread of this type
      • shutdownAllOperations

        void shutdownAllOperations​(Annotation scope)
        This method will suspend all currently open operations on all threads and then close them. This will also remove all entities associated with this operation type, including the OperationHandle associated with this scope from the HK2 locator service registry. Therefore this mechanism of shutting down the operations should be used with care, and would normally only be used when the Operation type can never be used again.

        The scope parameter is normally created with AnnotationLiteral

        Parameters:
        scope - The scope annotation for this operation type