Package org.jboss.weld.environment.se
Class ContainerLifecycleObserver<T>
- java.lang.Object
-
- org.jboss.weld.environment.se.ContainerLifecycleObserver<T>
-
- All Implemented Interfaces:
ObserverMethod<T>
,Prioritized
,ContainerLifecycleEventObserverMethod<T>
public final class ContainerLifecycleObserver<T> extends Object implements ContainerLifecycleEventObserverMethod<T>
Represents a synthetic container lifecycle event observer.For parameterized container lifecycele events (such as
ProcessAnnotatedType
andProcessProducerMethod
) it is possible to specify the observed container lifecycle event type, e.g. by means ofTypeLiteral
. To receive notifications for all observer methods with observed event type ofString
:ContainerLifecycleObserver.processObserverMethod(new TypeLiteral<ProcessObserverMethod<String, ?>>() { }.getType()).notify((e) -> System.out.println("String observer"));
- Author:
- Martin Kouba
- See Also:
Weld.addContainerLifecycleObserver(ContainerLifecycleObserver)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ContainerLifecycleObserver.Builder<T>
This builder is used to create a synthetic container lifecycle event observer.static class
ContainerLifecycleObserver.ExtensionBuilder
This builder is used to create a synthetic extension, i.e.
-
Field Summary
-
Fields inherited from interface jakarta.enterprise.inject.spi.ObserverMethod
DEFAULT_PRIORITY
-
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jakarta.enterprise.inject.spi.ObserverMethod
isAsync, notify
-
-
-
-
Method Detail
-
beforeBeanDiscovery
public static ContainerLifecycleObserver.Builder<BeforeBeanDiscovery> beforeBeanDiscovery()
- Returns:
- a new builder instance
- See Also:
BeforeBeanDiscovery
-
beforeBeanDiscovery
public static ContainerLifecycleObserver<BeforeBeanDiscovery> beforeBeanDiscovery(Consumer<BeforeBeanDiscovery> callback)
- Parameters:
callback
-- Returns:
- a new container lifecycle observer
- See Also:
BeforeBeanDiscovery
-
afterBeanDiscovery
public static ContainerLifecycleObserver.Builder<WeldAfterBeanDiscovery> afterBeanDiscovery()
- Returns:
- a new builder instance
- See Also:
AfterBeanDiscovery
-
afterBeanDiscovery
public static ContainerLifecycleObserver<WeldAfterBeanDiscovery> afterBeanDiscovery(Consumer<WeldAfterBeanDiscovery> callback)
- Parameters:
callback
-- Returns:
- a new container lifecycle observer
- See Also:
AfterBeanDiscovery
-
afterTypeDiscovery
public static ContainerLifecycleObserver.Builder<AfterTypeDiscovery> afterTypeDiscovery()
- Returns:
- a new builder instance
- See Also:
AfterTypeDiscovery
-
afterTypeDiscovery
public static ContainerLifecycleObserver<AfterTypeDiscovery> afterTypeDiscovery(Consumer<AfterTypeDiscovery> callback)
- Parameters:
callback
-- Returns:
- a new container lifecycle observer
- See Also:
AfterTypeDiscovery
-
afterDeploymentValidation
public static ContainerLifecycleObserver.Builder<AfterDeploymentValidation> afterDeploymentValidation()
- Parameters:
callback
-- Returns:
- a new builder instance
- See Also:
AfterDeploymentValidation
-
afterDeploymentValidation
public static ContainerLifecycleObserver<AfterDeploymentValidation> afterDeploymentValidation(Consumer<AfterDeploymentValidation> callback)
- Parameters:
callback
-- Returns:
- a new container lifecycle observer
- See Also:
AfterDeploymentValidation
-
beforeShutdown
public static ContainerLifecycleObserver.Builder<BeforeShutdown> beforeShutdown()
- Parameters:
callback
-- Returns:
- a new builder instance
- See Also:
BeforeShutdown
-
beforeShutdown
public static ContainerLifecycleObserver<BeforeShutdown> beforeShutdown(Consumer<BeforeShutdown> callback)
- Parameters:
callback
-- Returns:
- a new container lifecycle observer
- See Also:
BeforeShutdown
-
processAnnotatedType
public static ContainerLifecycleObserver.Builder<ProcessAnnotatedType<?>> processAnnotatedType()
- Returns:
- a new builder instance
- See Also:
ProcessAnnotatedType
-
processAnnotatedType
public static ContainerLifecycleObserver.Builder<ProcessAnnotatedType<?>> processAnnotatedType(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessAnnotatedType
-
processSyntheticAnnotatedType
public static ContainerLifecycleObserver.Builder<ProcessSyntheticAnnotatedType<?>> processSyntheticAnnotatedType(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessSyntheticAnnotatedType
-
processInjectionPoint
public static ContainerLifecycleObserver.Builder<ProcessInjectionPoint<?,?>> processInjectionPoint()
- Returns:
- a new builder instance
- See Also:
ProcessInjectionPoint
-
processInjectionPoint
public static ContainerLifecycleObserver.Builder<ProcessInjectionPoint<?,?>> processInjectionPoint(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessInjectionPoint
-
processInjectionTarget
public static ContainerLifecycleObserver.Builder<ProcessInjectionTarget<?>> processInjectionTarget()
- Returns:
- a new builder instance
- See Also:
ProcessInjectionTarget
-
processInjectionTarget
public static ContainerLifecycleObserver.Builder<ProcessInjectionTarget<?>> processInjectionTarget(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessInjectionTarget
-
processBeanAttributes
public static ContainerLifecycleObserver.Builder<ProcessBeanAttributes<?>> processBeanAttributes()
- Returns:
- a new builder instance
- See Also:
ProcessBeanAttributes
-
processBeanAttributes
public static ContainerLifecycleObserver.Builder<ProcessBeanAttributes<?>> processBeanAttributes(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessBeanAttributes
-
processBean
public static ContainerLifecycleObserver.Builder<ProcessBean<?>> processBean()
- Returns:
- a new builder instance
- See Also:
ProcessBean
-
processBean
public static ContainerLifecycleObserver.Builder<ProcessBean<?>> processBean(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessBean
-
processManagedBean
public static ContainerLifecycleObserver.Builder<ProcessManagedBean<?>> processManagedBean()
- Returns:
- a new builder instance
- See Also:
ProcessManagedBean
-
processManagedBean
public static ContainerLifecycleObserver.Builder<ProcessManagedBean<?>> processManagedBean(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessManagedBean
-
processSessionBean
public static ContainerLifecycleObserver.Builder<ProcessSessionBean<?>> processSessionBean()
- Returns:
- a new builder instance
- See Also:
ProcessSessionBean
-
processSessionBean
public static ContainerLifecycleObserver.Builder<ProcessSessionBean<?>> processSessionBean(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessSessionBean
-
processProducerMethod
public static ContainerLifecycleObserver.Builder<ProcessProducerMethod<?,?>> processProducerMethod()
- Returns:
- a new builder instance
- See Also:
ProcessProducerMethod
-
processProducerMethod
public static ContainerLifecycleObserver.Builder<ProcessProducerMethod<?,?>> processProducerMethod(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessProducerMethod
-
processProducerField
public static ContainerLifecycleObserver.Builder<ProcessProducerField<?,?>> processProducerField()
- Returns:
- a new builder instance
- See Also:
ProcessProducerField
-
processProducerField
public static ContainerLifecycleObserver.Builder<ProcessProducerField<?,?>> processProducerField(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessProducerField
-
processSyntheticBean
public static ContainerLifecycleObserver.Builder<ProcessSyntheticBean<?>> processSyntheticBean()
- Returns:
- a new builder instance
- See Also:
ProcessSyntheticBean
-
processSyntheticBean
public static ContainerLifecycleObserver.Builder<ProcessSyntheticBean<?>> processSyntheticBean(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessManagedBean
-
processProducer
public static ContainerLifecycleObserver.Builder<ProcessProducer<?,?>> processProducer()
- Returns:
- a new builder instance
- See Also:
ProcessProducer
-
processProducer
public static ContainerLifecycleObserver.Builder<ProcessProducer<?,?>> processProducer(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessProducer
-
processObserverMethod
public static ContainerLifecycleObserver.Builder<ProcessObserverMethod<?,?>> processObserverMethod()
- Returns:
- a new builder instance
- See Also:
ProcessObserverMethod
-
processObserverMethod
public static ContainerLifecycleObserver.Builder<ProcessObserverMethod<?,?>> processObserverMethod(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessObserverMethod
-
processSyntheticObserverMethod
public static ContainerLifecycleObserver.Builder<ProcessSyntheticObserverMethod<?,?>> processSyntheticObserverMethod()
- Returns:
- a new builder instance
- See Also:
ProcessSyntheticObserverMethod
-
processSyntheticObserverMethod
public static ContainerLifecycleObserver.Builder<ProcessSyntheticObserverMethod<?,?>> processSyntheticObserverMethod(Type observedType)
- Parameters:
observedType
-- Returns:
- a new builder instance
- See Also:
ProcessSyntheticObserverMethod
-
getPriority
public int getPriority()
Description copied from interface:ObserverMethod
The priority that will be used by the container to determine the notification order in which event observer methods are invoked.- Specified by:
getPriority
in interfaceObserverMethod<T>
- Specified by:
getPriority
in interfacePrioritized
- Returns:
- The priority that will be used by the container to determine the notification order in which event observer methods are invoked.
-
getBeanClass
public Class<?> getBeanClass()
Description copied from interface:ObserverMethod
Obtains the class of the type that declares the observer method.
- Specified by:
getBeanClass
in interfaceObserverMethod<T>
- Returns:
- the defining class
-
getObservedType
public Type getObservedType()
Description copied from interface:ObserverMethod
Obtains the observed event type.- Specified by:
getObservedType
in interfaceObserverMethod<T>
- Returns:
- the observed event type
-
getObservedQualifiers
public Set<Annotation> getObservedQualifiers()
Description copied from interface:ObserverMethod
Obtains the set of observed event qualifiers.- Specified by:
getObservedQualifiers
in interfaceObserverMethod<T>
- Returns:
- the observed event qualifiers
-
getReception
public Reception getReception()
Description copied from interface:ObserverMethod
Obtains the specifiedReception
for the observer method. This indicates if the observer is conditional or not.- Specified by:
getReception
in interfaceObserverMethod<T>
- Returns:
- the
Reception
-
getTransactionPhase
public TransactionPhase getTransactionPhase()
Description copied from interface:ObserverMethod
Obtains the specifiedTransactionPhase
for the observer method.- Specified by:
getTransactionPhase
in interfaceObserverMethod<T>
- Returns:
- the
TransactionPhase
-
notify
public void notify(T event)
Description copied from interface:ObserverMethod
Calls the observer method, passing the given event object.
The implementation of this method for a custom observer method is responsible for deciding whether to call the method if the
ObserverMethod.getReception()
returnsReception.IF_EXISTS
.- Specified by:
notify
in interfaceObserverMethod<T>
- Parameters:
event
- the event object
-
getRequiredAnnotations
public Collection<Class<? extends Annotation>> getRequiredAnnotations()
- Specified by:
getRequiredAnnotations
in interfaceContainerLifecycleEventObserverMethod<T>
- Returns:
- a collection of required annotations used to filter ProcessAnnotatedType events
- See Also:
WithAnnotations
-
extensionBuilder
public static ContainerLifecycleObserver.ExtensionBuilder extensionBuilder()
A synthetic extension is basically a container for synthetic container lifecycle event observers.- Returns:
- a builder for a synthetic extension
- See Also:
Weld.addExtension(jakarta.enterprise.inject.spi.Extension)
-
-