Package org.cometd.annotation.client
Class ClientAnnotationProcessor
- java.lang.Object
-
- org.cometd.annotation.AnnotationProcessor
-
- org.cometd.annotation.client.ClientAnnotationProcessor
-
public class ClientAnnotationProcessor extends AnnotationProcessor
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);
-
-
Constructor Summary
Constructors Constructor Description ClientAnnotationProcessor(ClientSession clientSession)
ClientAnnotationProcessor(ClientSession clientSession, java.lang.Object... injectables)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
deprocess(java.lang.Object bean)
Performs the opposite processing done byprocess(Object)
on callbacks methods annotated withListener
andSubscription
, and on lifecycle methods annotated withPreDestroy
.boolean
deprocessCallbacks(java.lang.Object bean)
Performs the opposite processing done byprocessCallbacks(Object)
on callback methods annotated withListener
andSubscription
.boolean
process(java.lang.Object bean)
Processes dependencies annotated withSession
, callbacks annotated withListener
andSubscription
and lifecycle methods annotated withPostConstruct
.boolean
processPostConstruct(java.lang.Object bean)
Processes lifecycle methods annotated withPostConstruct
.boolean
processPreDestroy(java.lang.Object bean)
Processes lifecycle methods annotated withPreDestroy
.-
Methods inherited from class org.cometd.annotation.AnnotationProcessor
callPublic, checkMethodsPublic, checkSignaturesMatch, findAnnotatedMethods, getField, invokePrivate, invokePublic, processInjectable, processInjectables, processParameters, setField
-
-
-
-
Constructor Detail
-
ClientAnnotationProcessor
public ClientAnnotationProcessor(ClientSession clientSession)
-
ClientAnnotationProcessor
public ClientAnnotationProcessor(ClientSession clientSession, java.lang.Object... injectables)
-
-
Method Detail
-
process
public boolean process(java.lang.Object bean)
Processes dependencies annotated withSession
, callbacks annotated withListener
andSubscription
and lifecycle methods annotated withPostConstruct
.- Parameters:
bean
- the annotated service instance- Returns:
- true if at least one dependency or callback has been processed, false otherwise
-
processPostConstruct
public boolean processPostConstruct(java.lang.Object bean)
Processes lifecycle methods annotated withPostConstruct
.- Overrides:
processPostConstruct
in classAnnotationProcessor
- Parameters:
bean
- the annotated service instance- Returns:
- true if at least one lifecycle method has been invoked, false otherwise
-
deprocess
public boolean deprocess(java.lang.Object bean)
Performs the opposite processing done byprocess(Object)
on callbacks methods annotated withListener
andSubscription
, and on lifecycle methods annotated withPreDestroy
.- 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(java.lang.Object bean)
Performs the opposite processing done byprocessCallbacks(Object)
on callback methods annotated withListener
andSubscription
.- Parameters:
bean
- the annotated service instance- Returns:
- true if the at least one callback has been deprocessed
-
processPreDestroy
public boolean processPreDestroy(java.lang.Object bean)
Processes lifecycle methods annotated withPreDestroy
.- Overrides:
processPreDestroy
in classAnnotationProcessor
- Parameters:
bean
- the annotated service instance- Returns:
- true if at least one lifecycle method has been invoked, false otherwise
-
-