public class ObserverNotifier extends Object
Modifier and Type | Field and Description |
---|---|
protected CurrentEventMetadata |
currentEventMetadata |
Modifier | Constructor and Description |
---|---|
protected |
ObserverNotifier(TypeSafeObserverResolver resolver,
org.jboss.weld.bootstrap.api.ServiceRegistry services,
boolean strict) |
Modifier and Type | Method and Description |
---|---|
protected Resolvable |
buildEventResolvable(Type eventType,
Annotation... qualifiers) |
protected Resolvable |
buildEventResolvable(Type eventType,
Set<Annotation> qualifiers) |
protected void |
checkEventObjectType(Object event) |
void |
checkEventObjectType(Type eventType)
If strict checks are enabled this method performs event type checks on the given type.
|
void |
checkEventSubtype(Type subtype) |
void |
clear()
Clears cached observer method resolutions and event type checks.
|
void |
fireEvent(Object event,
javax.enterprise.inject.spi.EventMetadata metadata,
Annotation... qualifiers)
Delivers the given event object to observer methods resolved based on the runtime type of the event object and given event qualifiers.
|
void |
fireEvent(Object event,
Resolvable resolvable)
Delivers the given event object to observer methods resolved based on the given resolvable.
|
void |
fireEvent(Type eventType,
Object event,
Annotation... qualifiers)
Delivers the given event object to observer methods resolved based on the given event type and qualifiers.
|
void |
fireEvent(Type eventType,
Object event,
javax.enterprise.inject.spi.EventMetadata metadata,
Annotation... qualifiers) |
<T> void |
notify(ResolvedObservers<T> observers,
T event,
javax.enterprise.inject.spi.EventMetadata metadata)
Delivers the given event object to given observer methods.
|
protected <T> void |
notifySyncObservers(List<javax.enterprise.inject.spi.ObserverMethod<? super T>> observers,
T event,
javax.enterprise.inject.spi.EventMetadata metadata) |
protected <T> void |
notifyTransactionObservers(List<javax.enterprise.inject.spi.ObserverMethod<? super T>> observers,
T event,
javax.enterprise.inject.spi.EventMetadata metadata) |
static ObserverNotifier |
of(String contextId,
TypeSafeObserverResolver resolver,
org.jboss.weld.bootstrap.api.ServiceRegistry services,
boolean strict) |
<T> ResolvedObservers<T> |
resolveObserverMethods(Resolvable resolvable)
Resolves observer methods using the given resolvable.
|
<T> ResolvedObservers<T> |
resolveObserverMethods(Type eventType,
Annotation... qualifiers)
Resolves observer methods based on the given event type and qualifiers.
|
<T> ResolvedObservers<T> |
resolveObserverMethods(Type eventType,
Set<Annotation> qualifiers)
Resolves observer methods based on the given event type and qualifiers.
|
protected final CurrentEventMetadata currentEventMetadata
protected ObserverNotifier(TypeSafeObserverResolver resolver, org.jboss.weld.bootstrap.api.ServiceRegistry services, boolean strict)
public static ObserverNotifier of(String contextId, TypeSafeObserverResolver resolver, org.jboss.weld.bootstrap.api.ServiceRegistry services, boolean strict)
resolver
- services
- strict
- indicates whether event type should be performed or notpublic <T> ResolvedObservers<T> resolveObserverMethods(Type eventType, Annotation... qualifiers)
event
- the event objectqualifiers
- given event qualifierspublic <T> ResolvedObservers<T> resolveObserverMethods(Type eventType, Set<Annotation> qualifiers)
event
- the event objectqualifiers
- given event qualifierspublic <T> ResolvedObservers<T> resolveObserverMethods(Resolvable resolvable)
resolvable
- the given resolvablepublic void fireEvent(Object event, javax.enterprise.inject.spi.EventMetadata metadata, Annotation... qualifiers)
event
- the event objectmetadata
- event metadataqualifiers
- event qualifierspublic void fireEvent(Type eventType, Object event, Annotation... qualifiers)
eventType
- the given event typeevent
- the given event objectqualifiers
- event qualifierspublic void fireEvent(Type eventType, Object event, javax.enterprise.inject.spi.EventMetadata metadata, Annotation... qualifiers)
public void fireEvent(Object event, Resolvable resolvable)
event
- the given event objectresolvable
- protected Resolvable buildEventResolvable(Type eventType, Set<Annotation> qualifiers)
protected Resolvable buildEventResolvable(Type eventType, Annotation... qualifiers)
public void clear()
protected void checkEventObjectType(Object event)
public void checkEventObjectType(Type eventType)
eventType
- the given event typeIllegalArgumentException
- if the strict mode is enabled and the event type contains a type variable, wildcard or is
assignable to a container lifecycle event typepublic void checkEventSubtype(Type subtype)
subtype
- IllegalArgumentException
- if the strict mode is enabled and the subtype contains a type variableEvent.select(javax.enterprise.util.TypeLiteral, Annotation...)
public <T> void notify(ResolvedObservers<T> observers, T event, javax.enterprise.inject.spi.EventMetadata metadata)
observers
- the given observer methodsevent
- the given event objectmetadata
- event metadataprotected <T> void notifySyncObservers(List<javax.enterprise.inject.spi.ObserverMethod<? super T>> observers, T event, javax.enterprise.inject.spi.EventMetadata metadata)
protected <T> void notifyTransactionObservers(List<javax.enterprise.inject.spi.ObserverMethod<? super T>> observers, T event, javax.enterprise.inject.spi.EventMetadata metadata)
Copyright © 2023. All rights reserved.