# Interface AnnotationMirror

public interface AnnotationMirror
Represents an annotation. An annotation associates a value with each element of an annotation interface.

Annotations should be compared using the `equals` method. There is no guarantee that any particular annotation will always be represented by the same object.

Since:
  1.6

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DeclaredType`
  `getAnnotationType()`
  Returns the type of this annotation.
  `Map<? extends ExecutableElement, ? extends AnnotationValue>`
  `getElementValues()`
  Returns the values of this annotation's elements.

- ## Method Details

  - ### getAnnotationType

    DeclaredType getAnnotationType()
    Returns the type of this annotation.
    Returns:
      the type of this annotation

  - ### getElementValues

    Map<? extends ExecutableElement, ? extends AnnotationValue> getElementValues()
    Returns the values of this annotation's elements. These are returned in the form of a map that associates elements with their corresponding values. Only those elements with values explicitly present in the annotation are included, not those that are implicitly assuming their default values. The order of the map matches the order in which the values appear in the annotation's source.
    API Note:
      An annotation mirror of a marker annotation interface will by definition have an empty map.

      To fill in default values, use `getElementValuesWithDefaults`.

    Returns:
      the values of this annotation's elements, or an empty map if there are none