Module jakarta.cdi

Interface Context

  • All Known Subinterfaces:
    AlterableContext

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

    Author:
    Gavin King, Pete Muir
    • Method Detail

      • getScope

        java.lang.Class<? extends java.lang.annotation.Annotation> getScope()
        Get the scope type of the context object.
        Returns:
        the scope
      • get

        <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.
        Type Parameters:
        T - the type of contextual type
        Parameters:
        contextual - the contextual type
        creationalContext - the context in which the new instance will be created
        Returns:
        the contextual instance
        Throws:
        ContextNotActiveException - if the context is not active
      • get

        <T> T get​(Contextual<T> contextual)
        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, or false otherwise.