Interface AlterableContext

  • All Superinterfaces:
    Context

    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).

    Since:
    1.1
    Author:
    Pete Muir
    • Method Detail

      • destroy

        void destroy​(Contextual<?> contextual)

        Destroy the existing contextual instance. If there is no existing instance, no action is taken.

        Parameters:
        contextual - the contextual type
        Throws:
        ContextNotActiveException - if the context is not active