Interface AnnotatedTypeMetadata

    • Method Detail

      • isAnnotated

        boolean isAnnotated​(String annotationName)
        Determine whether the underlying element has an annotation or meta-annotation of the given type defined.

        If this method returns true, then getAnnotationAttributes(java.lang.String) will return a non-null Map.

        Parameters:
        annotationName - the fully qualified class name of the annotation type to look for
        Returns:
        whether a matching annotation is defined
      • getAnnotationAttributes

        Map<String,​ObjectgetAnnotationAttributes​(String annotationName)
        Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation), also taking attribute overrides on composed annotations into account.
        Parameters:
        annotationName - the fully qualified class name of the annotation type to look for
        Returns:
        a Map of attributes, with the attribute name as key (e.g. "value") and the defined attribute value as Map value. This return value will be null if no matching annotation is defined.
      • getAnnotationAttributes

        Map<String,​ObjectgetAnnotationAttributes​(String annotationName,
                                                         boolean classValuesAsString)
        Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation), also taking attribute overrides on composed annotations into account.
        Parameters:
        annotationName - the fully qualified class name of the annotation type to look for
        classValuesAsString - whether to convert class references to String class names for exposure as values in the returned Map, instead of Class references which might potentially have to be loaded first
        Returns:
        a Map of attributes, with the attribute name as key (e.g. "value") and the defined attribute value as Map value. This return value will be null if no matching annotation is defined.
      • getAllAnnotationAttributes

        MultiValueMap<String,​ObjectgetAllAnnotationAttributes​(String annotationName)
        Retrieve all attributes of all annotations of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation). Note that this variant does not take attribute overrides into account.
        Parameters:
        annotationName - the fully qualified class name of the annotation type to look for
        Returns:
        a MultiMap of attributes, with the attribute name as key (e.g. "value") and a list of the defined attribute values as Map value. This return value will be null if no matching annotation is defined.
        See Also:
        getAllAnnotationAttributes(String, boolean)
      • getAllAnnotationAttributes

        MultiValueMap<String,​ObjectgetAllAnnotationAttributes​(String annotationName,
                                                                      boolean classValuesAsString)
        Retrieve all attributes of all annotations of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation). Note that this variant does not take attribute overrides into account.
        Parameters:
        annotationName - the fully qualified class name of the annotation type to look for
        classValuesAsString - whether to convert class references to String
        Returns:
        a MultiMap of attributes, with the attribute name as key (e.g. "value") and a list of the defined attribute values as Map value. This return value will be null if no matching annotation is defined.
        See Also:
        getAllAnnotationAttributes(String)