public interface Context
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)
.
Modifier and Type | Method and Description |
---|---|
<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 calling
Contextual.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.
|
Class<? extends Annotation> getScope()
<T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
Contextual.create(CreationalContext)
and return the new instance.T
- the type of contextual typecontextual
- the contextual typecreationalContext
- the context in which the new instance will be createdContextNotActiveException
- if the context is not active<T> T get(Contextual<T> contextual)
T
- the type of the contextual typecontextual
- the contextual typeContextNotActiveException
- if the context is not activeboolean isActive()
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.