Class OperationContext<T extends Annotation>

java.lang.Object
org.glassfish.hk2.extras.operation.OperationContext<T>
All Implemented Interfaces:
org.glassfish.hk2.api.Context<T>

@Contract public abstract class OperationContext<T extends Annotation> extends Object implements org.glassfish.hk2.api.Context<T>
The implementation of Context for an Operation.

An operation is defined as a unit of work that can be associated with one or more java threads, but where two operations of the same type may not be associated with the same thread at the same time. Examples of such an operation might be a RequestScope or a TenantRequesteOperation. An operation is a more general concept than the normal Java EE request scope, since it does not require a Java EE container

Users of this API generally create a Scope annotation and extend this class, implementing the Context.getScope() and making sure the parameterized type is the Scope annotation. The Scope annotation for an Operation is usually Proxiable but does not have to be. As with all implementations of Context the subclass of this class must be in the SingletonInjectsPerRequest scope. The user code then uses the OperationManager and OperationHandle to start and stop Operations and to associate and dis-associate threads with Operations

Classes extending this class may also choose to override the method Context.supportsNullCreation() which returns false by default

Author:
jwells
  • Constructor Details

    • OperationContext

      public OperationContext()
  • Method Details

    • findOrCreate

      public <U> U findOrCreate(org.glassfish.hk2.api.ActiveDescriptor<U> activeDescriptor, org.glassfish.hk2.api.ServiceHandle<?> root)
      Specified by:
      findOrCreate in interface org.glassfish.hk2.api.Context<T extends Annotation>
    • containsKey

      public boolean containsKey(org.glassfish.hk2.api.ActiveDescriptor<?> descriptor)
      Specified by:
      containsKey in interface org.glassfish.hk2.api.Context<T extends Annotation>
    • destroyOne

      public void destroyOne(org.glassfish.hk2.api.ActiveDescriptor<?> descriptor)
      Specified by:
      destroyOne in interface org.glassfish.hk2.api.Context<T extends Annotation>
    • closeOperation

      public void closeOperation(OperationHandleImpl<T> operation)
    • shutdown

      public void shutdown()
      Specified by:
      shutdown in interface org.glassfish.hk2.api.Context<T extends Annotation>
    • supportsNullCreation

      public boolean supportsNullCreation()
      Specified by:
      supportsNullCreation in interface org.glassfish.hk2.api.Context<T extends Annotation>
    • isActive

      public boolean isActive()
      Specified by:
      isActive in interface org.glassfish.hk2.api.Context<T extends Annotation>
    • setOperationManager

      public void setOperationManager(SingleOperationManager<T> manager)
    • toString

      public String toString()
      Overrides:
      toString in class Object