Package org.apache.webbeans.event
Class ObserverMethodImpl<T>
- java.lang.Object
-
- org.apache.webbeans.event.ObserverMethodImpl<T>
-
- Type Parameters:
T- event type
- All Implemented Interfaces:
jakarta.enterprise.inject.spi.ObserverMethod<T>,jakarta.enterprise.inject.spi.Prioritized,OwbObserverMethod<T>
- Direct Known Subclasses:
ContainerEventObserverMethodImpl
public class ObserverMethodImpl<T> extends Object implements OwbObserverMethod<T>
Defines observers that are declared in observer methods.Example:
public class X { public void afterLoggedIn(@Observes @Current LoggedInEvent event) { ..... } }Above class X instance observes for the event with typeLoggedInEventand event qualifier isCurrent. Whenever event is fired, itsjakarta.enterprise.inject.spi.ObserverMethod#notify()method is called.- Version:
- $Rev$ $Date$
-
-
Constructor Summary
Constructors Modifier Constructor Description ObserverMethodImpl(AbstractOwbBean<?> ownerBean, jakarta.enterprise.inject.spi.AnnotatedMethod<T> annotatedObserverMethod, jakarta.enterprise.inject.spi.AnnotatedParameter<T> annotatedObservesParameter)used if the qualifiers and event type are already known, e.g. from the XML.protectedObserverMethodImpl(AbstractOwbBean<?> ownerBean, jakarta.enterprise.inject.spi.AnnotatedMethod<T> annotatedObserverMethod, jakarta.enterprise.inject.spi.AnnotatedParameter<T> annotatedObservesParameter, boolean fireEvent)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidcheckObserverCondition(jakarta.enterprise.inject.spi.AnnotatedParameter<T> annotatedObservesParameter)Class<?>getBeanClass()Returns observer owner bean.Set<jakarta.enterprise.inject.spi.InjectionPoint>getInjectionPoints()Returns theInjectionPoints for the parameters of this observer method.protected List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams>getMethodArguments(Object event, jakarta.enterprise.inject.spi.EventMetadata metadata)Gets observer method parameters.Set<Annotation>getObservedQualifiers()TypegetObservedType()jakarta.enterprise.inject.spi.AnnotatedMethod<T>getObserverMethod()AbstractOwbBean<?>getOwnerBean()intgetPriority()jakarta.enterprise.event.ReceptiongetReception()jakarta.enterprise.event.TransactionPhasegetTransactionPhase()protected WebBeansContextgetWebBeansContext()protected voidinvoke(Object object, Object[] args)booleanisAsync()voidnotify(jakarta.enterprise.inject.spi.EventContext<T> eventContext)voidnotify(T event)Deprecated.actually.voidsetObserverMethod(jakarta.enterprise.inject.spi.AnnotatedMethod<T> m)Provides a way to set the observer method.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.webbeans.event.OwbObserverMethod
getDeclaringBean
-
-
-
-
Constructor Detail
-
ObserverMethodImpl
public ObserverMethodImpl(AbstractOwbBean<?> ownerBean, jakarta.enterprise.inject.spi.AnnotatedMethod<T> annotatedObserverMethod, jakarta.enterprise.inject.spi.AnnotatedParameter<T> annotatedObservesParameter)
used if the qualifiers and event type are already known, e.g. from the XML.
-
ObserverMethodImpl
protected ObserverMethodImpl(AbstractOwbBean<?> ownerBean, jakarta.enterprise.inject.spi.AnnotatedMethod<T> annotatedObserverMethod, jakarta.enterprise.inject.spi.AnnotatedParameter<T> annotatedObservesParameter, boolean fireEvent)
-
-
Method Detail
-
checkObserverCondition
protected void checkObserverCondition(jakarta.enterprise.inject.spi.AnnotatedParameter<T> annotatedObservesParameter)
-
getOwnerBean
public AbstractOwbBean<?> getOwnerBean()
- Specified by:
getOwnerBeanin interfaceOwbObserverMethod<T>
-
isAsync
public boolean isAsync()
- Specified by:
isAsyncin interfacejakarta.enterprise.inject.spi.ObserverMethod<T>
-
getPriority
public int getPriority()
- Specified by:
getPriorityin interfacejakarta.enterprise.inject.spi.ObserverMethod<T>- Specified by:
getPriorityin interfacejakarta.enterprise.inject.spi.Prioritized
-
getInjectionPoints
public Set<jakarta.enterprise.inject.spi.InjectionPoint> getInjectionPoints()
Returns theInjectionPoints for the parameters of this observer method.- Specified by:
getInjectionPointsin interfaceOwbObserverMethod<T>
-
notify
public void notify(T event)
Deprecated.actually. Use the method with the EventContext instead- Specified by:
notifyin interfacejakarta.enterprise.inject.spi.ObserverMethod<T>
-
notify
public void notify(jakarta.enterprise.inject.spi.EventContext<T> eventContext)
- Specified by:
notifyin interfacejakarta.enterprise.inject.spi.ObserverMethod<T>
-
invoke
protected void invoke(Object object, Object[] args) throws IllegalAccessException, InvocationTargetException
-
getMethodArguments
protected List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams> getMethodArguments(Object event, jakarta.enterprise.inject.spi.EventMetadata metadata)
Gets observer method parameters.- Parameters:
event- event payload- Returns:
- observer method parameters
-
getBeanClass
public Class<?> getBeanClass()
Returns observer owner bean.- Specified by:
getBeanClassin interfacejakarta.enterprise.inject.spi.ObserverMethod<T>- Returns:
- the bean
-
getObservedQualifiers
public Set<Annotation> getObservedQualifiers()
- Specified by:
getObservedQualifiersin interfacejakarta.enterprise.inject.spi.ObserverMethod<T>
-
getObservedType
public Type getObservedType()
- Specified by:
getObservedTypein interfacejakarta.enterprise.inject.spi.ObserverMethod<T>
-
getReception
public jakarta.enterprise.event.Reception getReception()
- Specified by:
getReceptionin interfacejakarta.enterprise.inject.spi.ObserverMethod<T>
-
getTransactionPhase
public jakarta.enterprise.event.TransactionPhase getTransactionPhase()
- Specified by:
getTransactionPhasein interfacejakarta.enterprise.inject.spi.ObserverMethod<T>
-
getObserverMethod
public jakarta.enterprise.inject.spi.AnnotatedMethod<T> getObserverMethod()
-
getWebBeansContext
protected WebBeansContext getWebBeansContext()
-
setObserverMethod
public void setObserverMethod(jakarta.enterprise.inject.spi.AnnotatedMethod<T> m)
Provides a way to set the observer method. This may need to be done for EJBs so that the method used will be from an interface and not the EJB class that likely can not be invoked on the EJB proxy- Parameters:
m- method to be invoked as the observer
-
-