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

  • Method Summary

    Modifier and Type
    Method
    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>
    Get the scope type of the context object.
    boolean
    Determines if the context object is active.
  • Method Details

    • getScope

      Class<? extends 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.