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);
ServerAnnotationProcessor
Modifier and Type | Field and Description |
---|---|
protected org.slf4j.Logger |
logger |
Constructor and Description |
---|
ClientAnnotationProcessor(ClientSession clientSession) |
ClientAnnotationProcessor(ClientSession clientSession,
Object... injectables) |
Modifier and Type | Method and Description |
---|---|
protected static void |
checkMethodsPublic(Object bean,
Class<? extends Annotation> annotationClass) |
protected static void |
checkSignaturesMatch(Method method,
Class<?>[] expectedTypes,
List<String> paramNames) |
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)
Performs the opposite processing done by
processCallbacks(Object)
on callback methods annotated with Listener and Subscription . |
protected List<Method> |
findAnnotatedMethods(Object bean,
Class<? extends Annotation> annotationClass) |
protected Object |
getField(Object bean,
Field field) |
protected Object |
invokePrivate(Object bean,
Method method,
Object... args) |
protected static Object |
invokePublic(Object target,
Method method,
Object... arguments) |
boolean |
process(Object bean)
Processes dependencies annotated with
Session , callbacks
annotated with Listener and Subscription and lifecycle
methods annotated with PostConstruct . |
protected boolean |
processInjectable(Object bean,
Object injectable) |
protected boolean |
processInjectables(Object bean,
List<Object> injectables) |
protected List<String> |
processParameters(Method method) |
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) |
public ClientAnnotationProcessor(ClientSession clientSession)
public ClientAnnotationProcessor(ClientSession clientSession, Object... injectables)
public boolean process(Object bean)
Session
, callbacks
annotated with Listener
and Subscription
and lifecycle
methods annotated with PostConstruct
.bean
- the annotated service instancepublic boolean processPostConstruct(Object bean)
PostConstruct
.bean
- the annotated service instancepublic boolean deprocess(Object bean)
process(Object)
on callbacks methods
annotated with Listener
and Subscription
, and on lifecycle methods annotated
with PreDestroy
.bean
- the annotated service instanceprocess(Object)
public boolean deprocessCallbacks(Object bean)
processCallbacks(Object)
on callback methods annotated with Listener
and Subscription
.bean
- the annotated service instancepublic boolean processPreDestroy(Object bean)
PreDestroy
.bean
- the annotated service instanceprotected List<Method> findAnnotatedMethods(Object bean, Class<? extends Annotation> annotationClass)
protected static Object invokePublic(Object target, Method method, Object... arguments)
protected static void checkMethodsPublic(Object bean, Class<? extends Annotation> annotationClass)
protected static void checkSignaturesMatch(Method method, Class<?>[] expectedTypes, List<String> paramNames)
Copyright © 2008–2016 The CometD Project. All rights reserved.