Class AnnotationUtils


  • public class AnnotationUtils
    extends Object

    Helper methods for reading/getting AnnotationNode instances.

    • Constructor Detail

      • AnnotationUtils

        public AnnotationUtils()
    • Method Detail

      • hasAnnotationOfType

        public static boolean hasAnnotationOfType​(AnnotatedNode annotatedNode,
                                                  String typeOrPackageName)
        Checks whether the given ClassNode is annotated with an annotations of the given package or full annotatedNode name.
        Parameters:
        annotatedNode - the AnnotatedNode to search for the given annotation
        typeOrPackageName - can either be a part of the package or the complete annotation class name
        Returns:
        true if an annotation was found, false otherwise
      • getAnnotationNodeInHierarchyWithMetaAnnotation

        public static List<AnnotationNode> getAnnotationNodeInHierarchyWithMetaAnnotation​(ClassNode type,
                                                                                          ClassNode anno)
        Gets the next AnnotationNode instance in the inheritance line which is annotated with the given Annotation class anno.
        Parameters:
        type - the ClassNode to check for the annotation
        anno - the annotation to watch out for
        Returns:
        the next AnnotationNode in the inheritance line, or null
      • getAnnotationNodeInHierarchyWithMetaAnnotation

        public static List<AnnotationNode> getAnnotationNodeInHierarchyWithMetaAnnotation​(ClassNode type,
                                                                                          MethodNode originMethodNode,
                                                                                          ClassNode metaAnnotationClassNode)

        Checks whether there exists a MethodNode up the inheritance tree where exists an annotation which is annotated with metaAnnotationClassNode.

        Parameters:
        type - the origin ClassNode
        originMethodNode - the origin MethodNode
        metaAnnotationClassNode - the ClassNode of the meta-annotation
        Returns:
        a list of AnnotationNode all annotated with metaAnnotationClassNode
      • hasMetaAnnotations

        public static List<AnnotationNode> hasMetaAnnotations​(AnnotatedNode annotatedNode,
                                                              String metaAnnotationClassName)
        Loads all annotation nodes of the given AnnotatedNode instance which are marked with the annotation metaAnnotationClassName.
        Parameters:
        annotatedNode - an AnnotatedNode from which the annotations are checked
        metaAnnotationClassName - the name of the meta annotation
        Returns:
        a list of AnnotationNode instances which implement the given metaAnnotationClass