javax.enterprise.context.spi

## 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 Summary

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

    - ### Methods inherited from interface javax.enterprise.context.spi.Context

      `get, get, getScope, isActive`

- - ### 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

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.