- All Known Subinterfaces:
AlterableContext
- All Known Implementing Classes:
ClientWindowScopeContext
,FlowCDIContext
,ViewScopeContext
Provides an operation for obtaining contextual instances with a particular scope of any contextual type. Any instance of
Context
is called a context object.
AlterableContext
was introduced in CDI 1.1 to allow bean instances to be destroyed by the application. Extensions
should implement AlterableContext
instead of Context
.
The context object is responsible for creating and destroying contextual instances by calling operations of
Contextual
. In particular, the context object is responsible for destroying any
contextual instance it creates by passing the instance to
Contextual.destroy(Object, CreationalContext)
. A destroyed instance must not
subsequently be returned by get()
. The context object must pass the same instance of
CreationalContext
to Contextual.destroy()
that it passed to
Contextual.create()
when it created the instance.
A custom context object may be registered with the container using
AfterBeanDiscovery.addContext(Context)
.
-
Method Summary
Modifier and TypeMethodDescription<T> T
get
(Contextual<T> contextual) Return an existing instance of a certain contextual type or a null value.<T> T
get
(Contextual<T> contextual, CreationalContext<T> creationalContext) Return an existing instance of certain contextual type or create a new instance by callingContextual.create(CreationalContext)
and return the new instance.Class
<? extends Annotation> getScope()
Get the scope type of the context object.boolean
isActive()
Determines if the context object is active.
-
Method Details
-
getScope
-
get
Return an existing instance of certain contextual type or create a new instance by callingContextual.create(CreationalContext)
and return the new instance.- Type Parameters:
T
- the type of contextual type- Parameters:
contextual
- the contextual typecreationalContext
- the context in which the new instance will be created- Returns:
- the contextual instance
- Throws:
ContextNotActiveException
- if the context is not active
-
get
Return an existing instance of a certain contextual type or a null value.- Type Parameters:
T
- the type of the contextual type- Parameters:
contextual
- the contextual type- Returns:
- the contextual instance, or a null value
- Throws:
ContextNotActiveException
- if the context is not active
-
isActive
boolean isActive()Determines if the context object is active.- Returns:
true
if the context is active, orfalse
otherwise.
-