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