Package org.glassfish.hk2.utilities
Class ImmediateContext
java.lang.Object
org.glassfish.hk2.utilities.ImmediateContext
@Singleton
@Visibility(LOCAL)
public class ImmediateContext
extends Object
implements Context<Immediate>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final HashMap
<ActiveDescriptor<?>, Long> private final HashMap
<ActiveDescriptor<?>, HandleAndService> private final ServiceLocator
private final Filter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
containsKey
(ActiveDescriptor<?> descriptor) Determines if this context has a value for the given keyvoid
destroyOne
(ActiveDescriptor<?> descriptor) This method is called whenServiceHandle.destroy()
method is called.private void
destroyOne
(ActiveDescriptor<?> descriptor, List<ImmediateErrorHandler> errorHandlers) Destroys a single descriptorvoid
doWork()
<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.private List
<ActiveDescriptor<?>> Class
<? extends Annotation> getScope()
The scope for which this is the contextboolean
isActive()
True if this context is active, false otherwisevoid
shutdown()
For when the server shuts downboolean
Returns true if the findOrCreate method can return null
-
Field Details
-
currentImmediateServices
-
creating
-
locator
-
validationFilter
-
-
Constructor Details
-
ImmediateContext
-
-
Method Details
-
getScope
Description copied from interface:Context
The scope for which this is the context -
findOrCreate
Description copied from interface:Context
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- Specified by:
findOrCreate
in interfaceContext<Immediate>
- Parameters:
activeDescriptor
- The descriptor to createroot
- The root handle- Returns:
- The service
-
containsKey
Description copied from interface:Context
Determines if this context has a value for the given key- Specified by:
containsKey
in interfaceContext<Immediate>
- Parameters:
descriptor
- The descriptor to find- Returns:
- true if this service has been created
-
destroyOne
Description copied from interface:Context
This method is called whenServiceHandle.destroy()
method is called. It is up to the context implementation whether or not to honor this destruction request based on the lifecycle requirements of the context- Specified by:
destroyOne
in interfaceContext<Immediate>
- Parameters:
descriptor
- A non-null descriptor upon whichServiceHandle.destroy()
has been called
-
destroyOne
Destroys a single descriptor- Parameters:
descriptor
- The descriptor to destroyerrorHandlers
- The handlers for exceptions (if null will get from service locator)
-
supportsNullCreation
public boolean supportsNullCreation()Description copied from interface:Context
Returns true if the findOrCreate method can return null- Specified by:
supportsNullCreation
in interfaceContext<Immediate>
- Returns:
- true if null is a legal value from the findOrCreate method
-
isActive
public boolean isActive()Description copied from interface:Context
True if this context is active, false otherwise -
shutdown
public void shutdown()For when the server shuts down -
getImmediateServices
-
getValidationFilter
-
doWork
public void doWork()
-