public class ObserverMethodImpl<T,X> extends java.lang.Object implements ObserverMethod<T>
Reference implementation for the ObserverMethod interface, which represents an observer method. Each observer method has an event type which is the class of the event object being observed, and event binding types that are annotations applied to the event parameter to narrow the event notifications delivered.
| Modifier and Type | Field and Description |
|---|---|
protected BeanManagerImpl |
beanManager |
protected RIBean<X> |
declaringBean |
static java.lang.String |
ID_PREFIX |
static java.lang.String |
ID_SEPARATOR |
protected MethodInjectionPoint<T,? super X> |
observerMethod |
protected TransactionPhase |
transactionPhase |
| Modifier | Constructor and Description |
|---|---|
protected |
ObserverMethodImpl(EnhancedAnnotatedMethod<T,? super X> observer,
RIBean<X> declaringBean,
BeanManagerImpl manager)
Creates an Observer which describes and encapsulates an observer method (8.5).
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkRequiredTypeAnnotations(EnhancedAnnotatedParameter<?,?> eventParameter) |
protected static java.lang.String |
createId(EnhancedAnnotatedMethod<?,?> observer,
RIBean<?> declaringBean) |
boolean |
equals(java.lang.Object obj) |
java.lang.Class<X> |
getBeanClass() |
RIBean<X> |
getDeclaringBean() |
java.lang.String |
getId() |
java.util.Set<WeldInjectionPointAttributes<?,?>> |
getInjectionPoints() |
MethodInjectionPoint<T,? super X> |
getMethod() |
java.util.Set<WeldInjectionPointAttributes<?,?>> |
getNewInjectionPoints() |
java.util.Set<java.lang.annotation.Annotation> |
getObservedQualifiers() |
java.lang.reflect.Type |
getObservedType() |
protected java.lang.Object |
getReceiver(CreationalContext<X> creationalContext) |
Reception |
getReception() |
TransactionPhase |
getTransactionPhase() |
int |
hashCode() |
void |
initialize(EnhancedAnnotatedMethod<T,? super X> annotated)
Completes initialization of the observer and allows derived types to override behavior.
|
protected MethodInjectionPoint<T,? super X> |
initMethodInjectionPoint(EnhancedAnnotatedMethod<T,? super X> observer,
RIBean<X> declaringBean,
BeanManagerImpl manager) |
boolean |
isEventMetadataRequired() |
void |
notify(T event) |
protected void |
postNotify(T event,
java.lang.Object receiver) |
protected void |
preNotify(T event,
java.lang.Object receiver)
Hooks allowing subclasses to perform additional logic just before and just after an event is delivered to an observer method.
|
protected void |
sendEvent(T event)
Invokes the observer method immediately passing the event.
|
protected void |
sendEvent(T event,
java.lang.Object receiver,
CreationalContext<?> creationalContext)
Note that
CreationalContext.release() is not invoked within this method. |
java.lang.String |
toString() |
public static final java.lang.String ID_PREFIX
public static final java.lang.String ID_SEPARATOR
protected final BeanManagerImpl beanManager
protected final MethodInjectionPoint<T,? super X> observerMethod
protected TransactionPhase transactionPhase
protected ObserverMethodImpl(EnhancedAnnotatedMethod<T,? super X> observer, RIBean<X> declaringBean, BeanManagerImpl manager)
observer - The observerdeclaringBean - The observer beanmanager - The Bean managerprotected static java.lang.String createId(EnhancedAnnotatedMethod<?,?> observer, RIBean<?> declaringBean)
protected MethodInjectionPoint<T,? super X> initMethodInjectionPoint(EnhancedAnnotatedMethod<T,? super X> observer, RIBean<X> declaringBean, BeanManagerImpl manager)
public java.util.Set<WeldInjectionPointAttributes<?,?>> getInjectionPoints()
public java.util.Set<WeldInjectionPointAttributes<?,?>> getNewInjectionPoints()
protected void checkRequiredTypeAnnotations(EnhancedAnnotatedParameter<?,?> eventParameter)
public java.lang.Class<X> getBeanClass()
getBeanClass in interface ObserverMethod<T>public Reception getReception()
getReception in interface ObserverMethod<T>public java.util.Set<java.lang.annotation.Annotation> getObservedQualifiers()
getObservedQualifiers in interface ObserverMethod<T>public java.lang.reflect.Type getObservedType()
getObservedType in interface ObserverMethod<T>public TransactionPhase getTransactionPhase()
getTransactionPhase in interface ObserverMethod<T>public MethodInjectionPoint<T,? super X> getMethod()
public void initialize(EnhancedAnnotatedMethod<T,? super X> annotated)
public void notify(T event)
notify in interface ObserverMethod<T>protected void sendEvent(T event)
event - The event to notify observer withprotected void sendEvent(T event, java.lang.Object receiver, CreationalContext<?> creationalContext)
CreationalContext.release() is not invoked within this method.event - receiver - creationalContext - protected void preNotify(T event, java.lang.Object receiver)
protected void postNotify(T event, java.lang.Object receiver)
protected java.lang.Object getReceiver(CreationalContext<X> creationalContext)
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getId()
public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean isEventMetadataRequired()
Copyright © 2015. All Rights Reserved.