org.cometd.java.annotation
Class ClientAnnotationProcessor

java.lang.Object
  extended by org.cometd.java.annotation.ClientAnnotationProcessor

public class ClientAnnotationProcessor
extends Object

Processes annotations in client-side service objects.

Service objects must be annotated with Service at class level to be processed by this processor, for example:

 @Service
 public class MyService
 {
     @Listener(Channel.META_CONNECT)
     public void metaConnect(Message message)
     {
         // Do something
     }
 }
 

The processor is used in this way:

 ClientSession bayeux = ...;
 ClientAnnotationProcessor processor = ClientAnnotationProcessor.get(bayeux);
 MyService s = new MyService();
 processor.process(s);
 

See Also:
ServerAnnotationProcessor

Field Summary
protected  org.eclipse.jetty.util.log.Logger logger
           
 
Constructor Summary
ClientAnnotationProcessor(ClientSession clientSession)
           
 
Method Summary
 boolean deprocess(Object bean)
          Performs the opposite processing done by process(Object) on callbacks methods annotated with Listener and Subscription, and on lifecycle methods annotated with PreDestroy.
 boolean deprocessCallbacks(Object bean)
          Deconfigures callbacks annotated with Listener and Subscription.
protected  Method findGetterMethod(Class<?> klass, Method setter)
           
protected  Object getField(Object bean, Field field)
           
protected  Object invokeMethod(Object bean, Method method, Object... args)
           
 boolean process(Object bean)
          Processes dependencies annotated with Session, and callbacks annotated with Listener and Subscription.
 boolean processPostConstruct(Object bean)
          Processes lifecycle methods annotated with PostConstruct.
 boolean processPreDestroy(Object bean)
          Processes lifecycle methods annotated with PreDestroy.
protected  void setField(Object bean, Field field, Object value)
           
protected static boolean signaturesMatch(Class<?>[] candidate, Class<?>[] expected)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.eclipse.jetty.util.log.Logger logger
Constructor Detail

ClientAnnotationProcessor

public ClientAnnotationProcessor(ClientSession clientSession)
Method Detail

process

public boolean process(Object bean)
Processes dependencies annotated with Session, and callbacks annotated with Listener and Subscription.

Parameters:
bean - the annotated service instance
Returns:
true if at least one dependency or callback has been processed, false otherwise

processPostConstruct

public boolean processPostConstruct(Object bean)
Processes lifecycle methods annotated with PostConstruct.

Parameters:
bean - the annotated service instance
Returns:
true if at least one lifecycle method has been invoked, false otherwise

deprocess

public boolean deprocess(Object bean)
Performs the opposite processing done by process(Object) on callbacks methods annotated with Listener and Subscription, and on lifecycle methods annotated with PreDestroy.

Parameters:
bean - the annotated service instance
Returns:
true if at least one deprocessing has been performed, false otherwise
See Also:
process(Object)

deprocessCallbacks

public boolean deprocessCallbacks(Object bean)
Deconfigures callbacks annotated with Listener and Subscription.

Parameters:
bean - the annotated service instance
Returns:
true if the at least one callback has been deconfigured

processPreDestroy

public boolean processPreDestroy(Object bean)
Processes lifecycle methods annotated with PreDestroy.

Parameters:
bean - the annotated service instance
Returns:
true if at least one lifecycle method has been invoked, false otherwise

invokeMethod

protected Object invokeMethod(Object bean,
                              Method method,
                              Object... args)

findGetterMethod

protected Method findGetterMethod(Class<?> klass,
                                  Method setter)

getField

protected Object getField(Object bean,
                          Field field)

setField

protected void setField(Object bean,
                        Field field,
                        Object value)

signaturesMatch

protected static boolean signaturesMatch(Class<?>[] candidate,
                                         Class<?>[] expected)


Copyright © 2008-2011 Dojo Foundation. All Rights Reserved.