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
    • Field Detail

      • beanManager

        protected jakarta.enterprise.inject.spi.BeanManager beanManager
      • concurrent

        protected boolean concurrent
      • passivating

        protected boolean passivating
      • activated

        protected transient volatile boolean activated
    • Constructor Detail

      • ContextualStorage

        public ContextualStorage()
      • ContextualStorage

        public ContextualStorage​(jakarta.enterprise.inject.spi.BeanManager beanManager,
                                 boolean concurrent,
                                 boolean passivating)
        Parameters:
        beanManager - is needed for serialisation
        concurrent - whether the ContextualStorage might get accessed concurrently by different threads
        passivating - whether the served scope is a passivating scope
    • Method Detail

      • isConcurrent

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

        public <T> T createContextualInstance​(jakarta.enterprise.context.spi.Contextual<T> bean,
                                              jakarta.enterprise.context.spi.CreationalContext<T> creationalContext)
        Type Parameters:
        T -
        Parameters:
        bean -
        creationalContext -
        Returns:
      • getBeanKey

        public <T> Object getBeanKey​(jakarta.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, this is mainly for Quarkus.
        Parameters:
        bean -
        Returns:
        the key to use in the context map
      • isActivated

        public boolean isActivated()
      • activate

        public void activate()
      • deactivate

        public void deactivate()