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:
javax.enterprise.inject.spi.ObserverMethod<T>

public class ObserverMethodImpl<T>
extends java.lang.Object
implements javax.enterprise.inject.spi.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: 1084643 $ $Date: 2011-03-23 18:10:05 +0100 (Mi, 23 Mär 2011) $

Constructor Summary
ObserverMethodImpl(InjectionTargetBean<?> bean, java.lang.reflect.Method observerMethod, boolean ifExist)
          Creates a new bean observer instance.
ObserverMethodImpl(InjectionTargetBean<?> bean, java.lang.reflect.Method observerMethod, boolean ifExist, java.lang.annotation.Annotation[] qualifiers, java.lang.reflect.Type observedEventType)
          used if the qualifiers and event type are already known, e.g. from the XML.
 
Method Summary
protected  java.util.List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams> getAnnotatedMethodArguments(java.lang.Object event)
          Gets observer method parameters.
 java.lang.Class<?> getBeanClass()
          Returns observer owner bean.
protected  java.util.List<org.apache.webbeans.event.ObserverMethodImpl.ObserverParams> getMethodArguments(java.lang.Object event)
          Returns list of observer method parameters.
 java.util.Set<java.lang.annotation.Annotation> getObservedQualifiers()
          
 java.lang.reflect.Type getObservedType()
          
 java.lang.reflect.Method getObserverMethod()
           
 javax.enterprise.event.Reception getReception()
          
 javax.enterprise.event.TransactionPhase getTransactionPhase()
           
protected  WebBeansContext getWebBeansContext()
           
 void notify(T event)
          
 void setAnnotatedMethod(javax.enterprise.inject.spi.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,
                          java.lang.reflect.Method observerMethod,
                          boolean ifExist)
Creates a new bean observer instance.

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

ObserverMethodImpl

public ObserverMethodImpl(InjectionTargetBean<?> bean,
                          java.lang.reflect.Method observerMethod,
                          boolean ifExist,
                          java.lang.annotation.Annotation[] qualifiers,
                          java.lang.reflect.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(javax.enterprise.inject.spi.AnnotatedMethod<T> annotatedMethod)
Sets annotated method.

Parameters:
annotatedMethod - annotated method

notify

public void notify(T event)

Specified by:
notify in interface javax.enterprise.inject.spi.ObserverMethod<T>

getMethodArguments

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

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

getAnnotatedMethodArguments

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

Parameters:
event - event payload
Returns:
observer method parameters

getBeanClass

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

Specified by:
getBeanClass in interface javax.enterprise.inject.spi.ObserverMethod<T>
Returns:
the bean

getObservedQualifiers

public java.util.Set<java.lang.annotation.Annotation> getObservedQualifiers()

Specified by:
getObservedQualifiers in interface javax.enterprise.inject.spi.ObserverMethod<T>

getObservedType

public java.lang.reflect.Type getObservedType()

Specified by:
getObservedType in interface javax.enterprise.inject.spi.ObserverMethod<T>

getReception

public javax.enterprise.event.Reception getReception()

Specified by:
getReception in interface javax.enterprise.inject.spi.ObserverMethod<T>

getTransactionPhase

public javax.enterprise.event.TransactionPhase getTransactionPhase()
Specified by:
getTransactionPhase in interface javax.enterprise.inject.spi.ObserverMethod<T>

getObserverMethod

public java.lang.reflect.Method getObserverMethod()

getWebBeansContext

protected WebBeansContext getWebBeansContext()


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