Binding callbackBinding = processReferenceCallback(castAnnotation, reference, implClass, context); if (callbackBinding != null) { reference.addCallbackBinding(callbackBinding);
protected void processBindingAnnotations(AccessibleObject object, Reference reference, Class<?> implClass, IntrospectionContext context) { A annotations[] = object.getAnnotationsByType(annotationType); if (annotations.length == 0) { // check meta-annotations for (Annotation annotation : object.getAnnotations()) { annotations = annotation.annotationType().getAnnotationsByType(annotationType); if (annotations.length > 0) { break; } } if (annotations.length == 0) { return; } } for (A annotation : annotations) { Binding binding = processReference(annotation, reference, implClass, context); if (binding == null) { continue; } reference.addBinding(binding); ServiceContract contract = reference.getServiceContract(); if (contract.getCallbackContract() != null) { Binding callbackBinding = processReferenceCallback(annotationType.cast(annotation), reference, implClass, context); if (callbackBinding != null) { reference.addCallbackBinding(callbackBinding); } } } }