org.glassfish.hk2.api
Interface Context<T>

Type Parameters:
T - This must be the type for which this is a context. For example, if your scope is SecureScope, then your context must implement Context<SecureScope>

@Contract
public interface Context<T>

An implementation of this must be put into the system in order to create contextual instances of services. If there is more than one active implementation available for the same scope on the same thread a runtime exception will be thrown when the scope is accessed.

An implementation of Context must be in the Singleton scope

Author:
jwells

Method Summary
<U> U
find(ActiveDescriptor<U> descriptor)
          Finds an existing contextual instance, without creating or loading any objects
<U> U
findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root)
          Creates a contextual instance of this ActiveDescriptor by calling its create method if there is no other matching contextual instance.
 Class<? extends Annotation> getScope()
          The scope for which this is the context
 boolean isActive()
          True if this context is active, false otherwise
 

Method Detail

getScope

Class<? extends Annotation> getScope()
The scope for which this is the context

Returns:
may not return null, must return the scope for which this is a context

findOrCreate

<U> U findOrCreate(ActiveDescriptor<U> activeDescriptor,
                   ServiceHandle<?> root)
Creates a contextual instance of this ActiveDescriptor by calling its create method if there is no other matching contextual instance. If there is already a contextual instance it is returned. If parent is null then this must work like the find call

Parameters:
activeDescriptor - The descriptor to use when creating instances
root - The extended provider for the outermost parent being created
Returns:
A context instance (which may be null)

find

<U> U find(ActiveDescriptor<U> descriptor)
Finds an existing contextual instance, without creating or loading any objects

Parameters:
descriptor - The descriptor to look for in this context
Returns:
Either null or the instance

isActive

boolean isActive()
True if this context is active, false otherwise

Returns:
true if this context is active, false otherwise


Copyright © 2012 Oracle Corporation. All Rights Reserved.