Class ContextualStorage

  • All Implemented Interfaces:
    Serializable

    public class ContextualStorage
    extends Object
    implements Serializable
    This Storage holds all information needed for storing Contextual Instances in a Context. It also addresses Serialisation in case of passivating scopes.
    See Also:
    Serialized Form
    • Constructor Detail

      • ContextualStorage

        public ContextualStorage​(boolean concurrent)
        Creates a new instance of storage.
        Parameters:
        concurrent - whether the ContextualStorage might get accessed concurrently by different threads
    • Method Detail

      • isConcurrent

        public boolean isConcurrent()
        Returns:
        whether the ContextualStorage might get accessed concurrently by different threads.
      • createContextualInstance

        public <T> T createContextualInstance​(javax.enterprise.context.spi.Contextual<T> bean,
                                              javax.enterprise.context.spi.CreationalContext<T> creationalContext)
        Type Parameters:
        T - contextual instance type
        Parameters:
        bean - the contextual type
        creationalContext - a context
        Returns:
        a created contextual instance
      • getBeanKey

        public <T> Object getBeanKey​(javax.enterprise.context.spi.Contextual<T> bean)
        If the context is a passivating scope then we return the passivationId of the Bean. Otherwise we use the Bean directly.
        Type Parameters:
        T - bean type
        Parameters:
        bean - the contextual type
        Returns:
        the key to use in the context map