public interface AlterableContext extends Context
Provides an operation for obtaining and destroying 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 |
---|---|
void |
destroy(Contextual<?> contextual)
Destroy the existing contextual instance.
|
void destroy(Contextual<?> contextual)
Destroy the existing contextual instance. If there is no existing instance, no action is taken.
contextual
- the contextual typeContextNotActiveException
- if the context is not active