protected CallbackDescriptor(Class<?> beanClass, Class<? extends Annotation> callbackMarker) { init(new Class[]{beanClass}, callbackMarker); }
@Override public void registerCallbackDescriptors(Class<? extends Annotation> metaDataType, CallbackDescriptor callbackDescriptor) { if (!callbackDescriptor.getCallbackMethods().isEmpty()) { getCallbackDescriptors(metaDataType).add(callbackDescriptor); } } }
private <T extends CallbackDescriptor> T findCallbackDescriptor(Class<? extends Annotation> metaDataType, Class<? extends Annotation> callbackType) { List<CallbackDescriptor> foundDescriptors = callbackDescriptors.get(metaDataType); if (foundDescriptors == null || foundDescriptors.isEmpty()) { return null; } if (callbackType == null || DefaultCallback.class.equals(callbackType)) { if (foundDescriptors.size() > 1) { //TODO validate during bootstrapping throw new IllegalStateException("multiple descriptors for " + ((callbackType == null) ? DefaultCallback.class.getName() : callbackType.getName()) + " aren't allowed"); } return (T)foundDescriptors.iterator().next(); } for (CallbackDescriptor callbackDescriptor : foundDescriptors) { if (callbackDescriptor.isBoundTo(callbackType)) { return (T)callbackDescriptor; } } return null; }
@Override public void registerCallbackDescriptors(Class<? extends Annotation> metaDataType, CallbackDescriptor callbackDescriptor) { if (!callbackDescriptor.getCallbackMethods().isEmpty()) { getCallbackDescriptors(metaDataType).add(callbackDescriptor); } } }
private <T extends CallbackDescriptor> T findCallbackDescriptor(Class<? extends Annotation> metaDataType, Class<? extends Annotation> callbackType) { List<CallbackDescriptor> foundDescriptors = callbackDescriptors.get(metaDataType); if (foundDescriptors == null || foundDescriptors.isEmpty()) { return null; } if (callbackType == null || DefaultCallback.class.equals(callbackType)) { if (foundDescriptors.size() > 1) { //TODO validate during bootstrapping throw new IllegalStateException("multiple descriptors for " + ((callbackType == null) ? DefaultCallback.class.getName() : callbackType.getName()) + " aren't allowed"); } return (T)foundDescriptors.iterator().next(); } for (CallbackDescriptor callbackDescriptor : foundDescriptors) { if (callbackDescriptor.isBoundTo(callbackType)) { return (T)callbackDescriptor; } } return null; }
protected CallbackDescriptor(Class<?>[] beanClasses, Class<? extends Annotation> callbackMarker) { init(beanClasses, callbackMarker); }
protected CallbackDescriptor(Class<?>[] beanClasses, Class<? extends Annotation> callbackMarker) { init(beanClasses, callbackMarker); }
protected CallbackDescriptor(Class beanClass, Class<? extends Annotation> callbackMarker) { init(new Class[]{beanClass}, callbackMarker); }
protected CallbackDescriptor(Class<?> beanClass, Class<? extends Annotation> callbackMarker) { init(new Class[]{beanClass}, callbackMarker); }
protected CallbackDescriptor(Class[] beanClasses, Class<? extends Annotation> callbackMarker) { init(beanClasses, callbackMarker); }