The Spring Framework

## org.springframework.core.type
Interface AnnotationMetadata

All Superinterfaces:
  ClassMetadata

All Known Implementing Classes:
  StandardAnnotationMetadata

    public interface AnnotationMetadata

extends ClassMetadata

Interface that defines abstract access to the annotations of a specific class, in a form that does not require that class to be loaded yet.

Since:
  2.5
Author:
  Juergen Hoeller, Mark Fisher
See Also:
  `StandardAnnotationMetadata`, `MetadataReader.getAnnotationMetadata()`

Method Summary
`Map<String,Object>` `getAnnotationAttributes(String annotationType)` Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying class).
`Set<String>` `getAnnotationTypes()` Return the names of all annotation types defined on the underlying class.
`Set<String>` `getMetaAnnotationTypes(String annotationType)` Return the names of all meta-annotation types defined on the given annotation type of the underlying class.
`boolean` `hasAnnotation(String annotationType)` Determine whether the underlying class has an annotation of the given type defined.
`boolean` `hasMetaAnnotation(String metaAnnotationType)` Determine whether the underlying class has an annotation that is itself annotated with the meta-annotation of the given type.

Methods inherited from interface org.springframework.core.type.ClassMetadata
`getClassName, getEnclosingClassName, getInterfaceNames, getSuperClassName, hasEnclosingClass, hasSuperClass, isAbstract, isConcrete, isIndependent, isInterface`

Method Detail

### getAnnotationTypes

    Set<String> getAnnotationTypes()

  Return the names of all annotation types defined on the underlying class.

  Returns:
    the annotation type names

### hasAnnotation

    boolean hasAnnotation(String annotationType)

  Determine whether the underlying class has an annotation of the given type defined.

  Parameters:
    `annotationType` - the annotation type to look for
  Returns:
    whether a matching annotation is defined

### getMetaAnnotationTypes

    Set<String> getMetaAnnotationTypes(String annotationType)

  Return the names of all meta-annotation types defined on the given annotation type of the underlying class.

  Returns:
    the meta-annotation type names

### hasMetaAnnotation

    boolean hasMetaAnnotation(String metaAnnotationType)

  Determine whether the underlying class has an annotation that is itself annotated with the meta-annotation of the given type.

  Parameters:
    `metaAnnotationType` - the meta-annotation type to look for
  Returns:
    whether a matching meta-annotation is defined

### getAnnotationAttributes

    Map<String,Object> getAnnotationAttributes(String annotationType)

  Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying class).

  Parameters:
    `annotationType` - 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.

The Spring Framework

Copyright © 2002-2008 The Spring Framework.