Package org.apache.myfaces.cdi.util
Class ContextualStorage
java.lang.Object
org.apache.myfaces.cdi.util.ContextualStorage
- All Implemented Interfaces:
- 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:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected booleanprotected jakarta.enterprise.inject.spi.BeanManagerprotected booleanprotected Map<Object,ContextualInstanceInfo<?>> protected boolean
- 
Constructor SummaryConstructorsConstructorDescriptionContextualStorage(jakarta.enterprise.inject.spi.BeanManager beanManager, boolean concurrent, boolean passivating) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidactivate()voidclear()<T> TcreateContextualInstance(jakarta.enterprise.context.spi.Contextual<T> bean, jakarta.enterprise.context.spi.CreationalContext<T> creationalContext) voidjakarta.enterprise.context.spi.Contextual<?>Restores the bean from its beanKey.<T> ObjectgetBeanKey(jakarta.enterprise.context.spi.Contextual<T> bean) If the context is a passivating scope then we return the passivationId of the bean.booleanboolean
- 
Field Details- 
contextualInstances
- 
beanNameToKeyMapping
- 
beanManagerprotected jakarta.enterprise.inject.spi.BeanManager beanManager
- 
concurrentprotected boolean concurrent
- 
passivatingprotected boolean passivating
- 
activatedprotected transient volatile boolean activated
 
- 
- 
Constructor Details- 
ContextualStoragepublic ContextualStorage()
- 
ContextualStoragepublic 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 Details- 
getStorage- Returns:
- the underlying storage map.
 
- 
clearpublic void clear()
- 
isConcurrentpublic boolean isConcurrent()- Returns:
- whether the ContextualStorage might get accessed concurrently by different threads.
 
- 
createContextualInstancepublic <T> T createContextualInstance(jakarta.enterprise.context.spi.Contextual<T> bean, jakarta.enterprise.context.spi.CreationalContext<T> creationalContext) - Type Parameters:
- T-
- Parameters:
- bean-
- creationalContext-
- Returns:
 
- 
getBeanKeyIf 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
 
- 
getBeanRestores the bean from its beanKey. It returns null if the beanKey does not belong to a bean or is not Contextual.
- 
isActivatedpublic boolean isActivated()
- 
activatepublic void activate()
- 
deactivatepublic void deactivate()
- 
getBeanNameToKeyMapping
 
-