src/main/java/js/container/ManagedClass.java
private static boolean hasAnnotation(Class<?> clazz, Class<? extends Annotation> annotationClass) {
		Annotation annotation = clazz.getAnnotation(annotationClass);
		if (annotation != null) {
			return true;
		}
		for (Class<?> interfaceClass : clazz.getInterfaces()) {
			annotation = interfaceClass.getAnnotation(annotationClass);
			if (annotation != null) {
				return true;
			}
		}
		return false;
	}
private static boolean hasAnnotation(Class<?> clazz, Class<? extends Annotation> annotationClass) {
		Annotation annotation = clazz.getAnnotation(annotationClass);
		if (annotation != null) {
			return true;
		}
		for (Class<?> interfaceClass : clazz.getInterfaces()) {
			annotation = interfaceClass.getAnnotation(annotationClass);
			if (annotation != null) {
				return true;
			}
		}
		return false;
	}
private static boolean hasAnnotation ( Class < ? > clazz , Class < ? extends Annotation > annotationClass ) { Annotation annotation = clazz . getAnnotation ( annotationClass ) ; if ( annotation != null ) { return true ; } for ( Class < ? > interfaceClass : clazz . getInterfaces ( ) ) { annotation = interfaceClass . getAnnotation ( annotationClass ) ; if ( annotation != null ) { return true ; } } return false ; }
Test if class has requested annotation. This predicate uses extended annotation searching scope: it searches first on
given class then tries with all class interfaces. Note that only interfaces are used as alternative for annotation
search. Super class is not included.
<p>
Returns false if no annotation found on base class or interfaces.

@param clazz base class to search for annotation,
@param annotationClass annotation to search for.
@return true if annotation found.
Test if class has requested annotation . This predicate uses extended annotation searching scope : it searches first on given class then tries with all class interfaces . Note that only interfaces are used as alternative for annotation search . Super class is not included . <p > Returns false if no annotation found on base class or interfaces .