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
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    destroy(Contextual<?> contextual)
    Destroy the existing contextual instance.

    Methods inherited from interface jakarta.enterprise.context.spi.Context

    get, get, getScope, isActive
  • Method Details

    • 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