Class OperationContext<T extends Annotation>

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

@Contract public abstract class OperationContext<T extends Annotation> extends Object implements 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