org.apache.webbeans.event
Class ObserverMethodImpl<T>

java.lang.Object
  extended by org.apache.webbeans.event.ObserverMethodImpl<T>
Type Parameters:
T - event type
All Implemented Interfaces:
ObserverMethod<T>
Direct Known Subclasses:
BeanObserverXMLImpl

public class ObserverMethodImpl<T>
extends Object
implements ObserverMethod<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 type LoggedInEvent and event qualifier is Current. Whenever event is fired, its ObserverMethod#notify() method is called.

Version:
$Rev: 987758 $ $Date: 2010-08-21 15:49:53 +0200 (Sa, 21 Aug 2010) $

Constructor Summary
ObserverMethodImpl(InjectionTargetBean<?> bean, Method observerMethod, boolean ifExist)
          Creates a new bean observer instance.
ObserverMethodImpl(InjectionTargetBean<?> bean, Method observerMethod, boolean ifExist, Annotation[] qualifiers, Type observedEventType)
          used if the qualifiers and event type are already known, e.g. from the XML.
 
Method Summary
protected  List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams> getAnnotatedMethodArguments(Object event)
          Gets observer method parameters.
 Class<?> getBeanClass()
          Returns observer owner bean.
protected  List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams> getMethodArguments(Object event)
          Returns list of observer method parameters.
 Set<Annotation> getObservedQualifiers()
          
 Type getObservedType()
          
 Method getObserverMethod()
           
 Reception getReception()
          
 TransactionPhase getTransactionPhase()
           
 void notify(T event)
          
 void setAnnotatedMethod(AnnotatedMethod<T> annotatedMethod)
          Sets annotated method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObserverMethodImpl

public ObserverMethodImpl(InjectionTargetBean<?> bean,
                          Method observerMethod,
                          boolean ifExist)
Creates a new bean observer instance.

Parameters:
bean - owner
observerMethod - method
ifExist - if exist parameter

ObserverMethodImpl

public ObserverMethodImpl(InjectionTargetBean<?> bean,
                          Method observerMethod,
                          boolean ifExist,
                          Annotation[] qualifiers,
                          Type observedEventType)
used if the qualifiers and event type are already known, e.g. from the XML.

Parameters:
bean -
observerMethod -
ifExist -
qualifiers -
observedEventType -
Method Detail

setAnnotatedMethod

public void setAnnotatedMethod(AnnotatedMethod<T> annotatedMethod)
Sets annotated method.

Parameters:
annotatedMethod - annotated method

notify

public void notify(T event)

Specified by:
notify in interface ObserverMethod<T>

getMethodArguments

protected List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams> getMethodArguments(Object event)
Returns list of observer method parameters.

Parameters:
event - event instance
Returns:
list of observer method parameters

getAnnotatedMethodArguments

protected List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams> getAnnotatedMethodArguments(Object event)
Gets observer method parameters.

Parameters:
event - event payload
Returns:
observer method parameters

getBeanClass

public Class<?> getBeanClass()
Returns observer owner bean.

Specified by:
getBeanClass in interface ObserverMethod<T>
Returns:
the bean

getObservedQualifiers

public Set<Annotation> getObservedQualifiers()

Specified by:
getObservedQualifiers in interface ObserverMethod<T>

getObservedType

public Type getObservedType()

Specified by:
getObservedType in interface ObserverMethod<T>

getReception

public Reception getReception()

Specified by:
getReception in interface ObserverMethod<T>

getTransactionPhase

public TransactionPhase getTransactionPhase()
Specified by:
getTransactionPhase in interface ObserverMethod<T>

getObserverMethod

public Method getObserverMethod()


Copyright © 2008-2010 The Apache Software Foundation. All Rights Reserved.