Module java.compiler
Package javax.lang.model.element

## Interface AnnotationMirror

-     public interface AnnotationMirror

  Represents an annotation. An annotation associates a value with each element of an annotation type.

  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 Detail

    - #### 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. This is 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.

      Note that an annotation mirror of a marker annotation type 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