@Singleton @Visibility(value=LOCAL) public class InheritableThreadContext extends java.lang.Object implements Context<InheritableThread>
Modifier and Type | Class and Description |
---|---|
private static class |
InheritableThreadContext.InheritableContextThreadWrapper |
Modifier and Type | Field and Description |
---|---|
private static boolean |
LOG_THREAD_DESTRUCTION |
private java.lang.InheritableThreadLocal<InheritableThreadContext.InheritableContextThreadWrapper> |
threadMap |
Constructor and Description |
---|
InheritableThreadContext() |
Modifier and Type | Method and Description |
---|---|
boolean |
containsKey(ActiveDescriptor<?> descriptor)
Determines if this context has a value for the given key
|
void |
destroyOne(ActiveDescriptor<?> descriptor)
This method is called when
ServiceHandle.destroy() method is called. |
<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.
|
java.lang.Class<? extends java.lang.annotation.Annotation> |
getScope()
The scope for which this is the context
|
boolean |
isActive()
True if this context is active, false otherwise
|
void |
shutdown()
Shut down this context.
|
boolean |
supportsNullCreation()
Returns true if the findOrCreate method can return null
|
private static final boolean LOG_THREAD_DESTRUCTION
private java.lang.InheritableThreadLocal<InheritableThreadContext.InheritableContextThreadWrapper> threadMap
public java.lang.Class<? extends java.lang.annotation.Annotation> getScope()
Context
getScope
in interface Context<InheritableThread>
public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root)
Context
findOrCreate
in interface Context<InheritableThread>
activeDescriptor
- The descriptor to use when creating instancesroot
- The extended provider for the outermost parent being createdpublic boolean containsKey(ActiveDescriptor<?> descriptor)
Context
containsKey
in interface Context<InheritableThread>
descriptor
- The descriptor to look for in this contextpublic boolean isActive()
Context
isActive
in interface Context<InheritableThread>
public boolean supportsNullCreation()
Context
supportsNullCreation
in interface Context<InheritableThread>
public void shutdown()
Context
shutdown
in interface Context<InheritableThread>
public void destroyOne(ActiveDescriptor<?> descriptor)
Context
ServiceHandle.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 contextdestroyOne
in interface Context<InheritableThread>
descriptor
- A non-null descriptor upon which ServiceHandle.destroy()
has been called