if (field.isAnnotationPresent(PersistenceContext.class)) {
PersistenceContext annotation = field.getAnnotation(PersistenceContext.class);
lookupFieldResource(context, instance, field, annotation.name());
}
if (field.isAnnotationPresent(PersistenceUnit.class)) {
PersistenceUnit annotation = field.getAnnotation(PersistenceUnit.class);
lookupFieldResource(context, instance, field, annotation.name());
}
}
// Initialize methods annotations
Method[] methods = instance.getClass().getDeclaredMethods();
for (Method method : methods) {
if (method.isAnnotationPresent(Resource.class)) {
Resource annotation = method.getAnnotation(Resource.class);
lookupMethodResource(context, instance, method, annotation.name());
}
if (method.isAnnotationPresent(EJB.class)) {
EJB annotation = method.getAnnotation(EJB.class);
lookupMethodResource(context, instance, method, annotation.name());
}
if (method.isAnnotationPresent(WebServiceRef.class)) {
WebServiceRef annotation = method.getAnnotation(WebServiceRef.class);
lookupMethodResource(context, instance, method, annotation.name());
}
if (method.isAnnotationPresent(PersistenceContext.class)) {
PersistenceContext annotation = method.getAnnotation(PersistenceContext.class);
lookupMethodResource(context, instance, method, annotation.name());
}
if (method.isAnnotationPresent(PersistenceUnit.class)) {
PersistenceUnit annotation = method.getAnnotation(PersistenceUnit.class);
lookupMethodResource(context, instance, method, annotation.name());
}
}
}