Package com.vaadin.quarkus.context
Class AbstractContext
- java.lang.Object
-
- com.vaadin.quarkus.context.AbstractContext
-
- All Implemented Interfaces:
io.quarkus.arc.InjectableContext,javax.enterprise.context.spi.AlterableContext,javax.enterprise.context.spi.Context
- Direct Known Subclasses:
RouteScopedContext,UIScopedContext,VaadinServiceScopedContext,VaadinSessionScopedContext
public abstract class AbstractContext extends Object implements io.quarkus.arc.InjectableContext
A modified copy of org.apache.deltaspike.core.util.context.AbstractContext. A skeleton containing the most important parts of a custom CDI Context. An implementing Context needs to implement the missing methods from theAlterableContextinterface andgetContextualStorage(Contextual, boolean).
-
-
Constructor Summary
Constructors Constructor Description AbstractContext()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidcheckActive()Make sure that the Context is really active.voiddestroy()voiddestroy(javax.enterprise.context.spi.Contextual<?> bean)Destroy the Contextual Instance of the given Bean.voiddestroyAllActive()destroys all the Contextual Instances in the Storage returned bygetContextualStorage(Contextual, boolean).static Map<Object,ContextualInstanceInfo<?>>destroyAllActive(ContextualStorage storage)Destroys all the Contextual Instances in the specified ContextualStorage.static voiddestroyBean(javax.enterprise.context.spi.Contextual bean, ContextualInstanceInfo<?> contextualInstanceInfo)<T> Tget(javax.enterprise.context.spi.Contextual<T> bean)<T> Tget(javax.enterprise.context.spi.Contextual<T> bean, javax.enterprise.context.spi.CreationalContext<T> creationalContext)protected List<ContextualStorage>getActiveContextualStorages()Gets all active contextual storages.protected abstract ContextualStoragegetContextualStorage(javax.enterprise.context.spi.Contextual<?> contextual, boolean createIfNotExist)An implementation has to return the underlying storage which contains the items held in the Context.io.quarkus.arc.InjectableContext.ContextStategetState()
-
-
-
Method Detail
-
getContextualStorage
protected abstract ContextualStorage getContextualStorage(javax.enterprise.context.spi.Contextual<?> contextual, boolean createIfNotExist)
An implementation has to return the underlying storage which contains the items held in the Context.- Parameters:
contextual- the contextual typecreateIfNotExist- whether a ContextualStorage shall get created if it doesn't yet exist.- Returns:
- the underlying storage
-
getActiveContextualStorages
protected List<ContextualStorage> getActiveContextualStorages()
Gets all active contextual storages.- Returns:
- a list of contextual storages.
-
get
public <T> T get(javax.enterprise.context.spi.Contextual<T> bean)
- Specified by:
getin interfacejavax.enterprise.context.spi.Context
-
get
public <T> T get(javax.enterprise.context.spi.Contextual<T> bean, javax.enterprise.context.spi.CreationalContext<T> creationalContext)- Specified by:
getin interfacejavax.enterprise.context.spi.Context
-
destroy
public void destroy(javax.enterprise.context.spi.Contextual<?> bean)
Destroy the Contextual Instance of the given Bean.- Specified by:
destroyin interfacejavax.enterprise.context.spi.AlterableContext- Parameters:
bean- dictates which bean shall get cleaned up
-
destroyAllActive
public void destroyAllActive()
destroys all the Contextual Instances in the Storage returned bygetContextualStorage(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.- Parameters:
storage- a contextual storage- Returns:
- a storage map of destroyed objects
-
destroy
public void destroy()
- Specified by:
destroyin interfaceio.quarkus.arc.InjectableContext
-
getState
public io.quarkus.arc.InjectableContext.ContextState getState()
- Specified by:
getStatein interfaceio.quarkus.arc.InjectableContext
-
checkActive
protected void checkActive()
Make sure that the Context is really active.- Throws:
javax.enterprise.context.ContextNotActiveException- if there is no active Context for the current Thread.
-
destroyBean
public static void destroyBean(javax.enterprise.context.spi.Contextual bean, ContextualInstanceInfo<?> contextualInstanceInfo)
-
-