Class AbstractContext

java.lang.Object
com.vaadin.cdi.util.AbstractContext
All Implemented Interfaces:
jakarta.enterprise.context.spi.Context
Direct Known Subclasses:
RouteScopedContext, UIScopedContext, VaadinServiceScopedContext, VaadinSessionScopedContext

public abstract class AbstractContext extends Object implements jakarta.enterprise.context.spi.Context
A skeleton containing the most important parts of a custom CDI Context. An implementing Context needs to implement the missing methods from the Context interface and getContextualStorage(Contextual, boolean).
  • Constructor Details

    • AbstractContext

      protected AbstractContext(jakarta.enterprise.inject.spi.BeanManager beanManager)
  • Method Details

    • getContextualStorage

      protected abstract ContextualStorage getContextualStorage(jakarta.enterprise.context.spi.Contextual<?> contextual, boolean createIfNotExist)
      An implementation has to return the underlying storage which contains the items held in the Context.
      Parameters:
      createIfNotExist - whether a ContextualStorage shall get created if it doesn't yet exist.
      Returns:
      the underlying storage
    • getActiveContextualStorages

      protected List<ContextualStorage> getActiveContextualStorages()
    • isPassivatingScope

      public boolean isPassivatingScope()
      Returns:
      whether the served scope is a passivating scope
    • get

      public <T> T get(jakarta.enterprise.context.spi.Contextual<T> bean)
      Specified by:
      get in interface jakarta.enterprise.context.spi.Context
    • get

      public <T> T get(jakarta.enterprise.context.spi.Contextual<T> bean, jakarta.enterprise.context.spi.CreationalContext<T> creationalContext)
      Specified by:
      get in interface jakarta.enterprise.context.spi.Context
    • destroy

      public boolean destroy(jakarta.enterprise.context.spi.Contextual bean)
      Destroy the Contextual Instance of the given Bean.
      Parameters:
      bean - dictates which bean shall get cleaned up
      Returns:
      true if the bean was destroyed, false if there was no such bean.
    • destroyAllActive

      public void destroyAllActive()
      destroys all the Contextual Instances in the Storage returned by getContextualStorage(Contextual, boolean).
    • destroyAllActive

      public static Map<Object,ContextualInstanceInfo<?>> destroyAllActive(ContextualStorage storage)
      Destroys all the Contextual Instances in the specified ContextualStorage. This is a static method to allow various holder objects to cleanup properly in @PreDestroy.
    • destroyBean

      public static void destroyBean(jakarta.enterprise.context.spi.Contextual bean, ContextualInstanceInfo<?> contextualInstanceInfo)
    • checkActive

      protected void checkActive()
      Make sure that the Context is really active.
      Throws:
      jakarta.enterprise.context.ContextNotActiveException - if there is no active Context for the current Thread.