AnnotationMap
Date: 2016-12-04

com.fasterxml.jackson.databind.introspect

## Class AnnotationMap

- java.lang.Object
- - com.fasterxml.jackson.databind.introspect.AnnotationMap

- All Implemented Interfaces:
    Annotations

      public final class AnnotationMap
      extends java.lang.Object
      implements Annotations

  Simple helper class used to keep track of collection of Jackson Annotations associated with annotatable things (methods, constructors, classes). Note that only Jackson-owned annotations are tracked (for now?).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.HashMap<java.lang.Class<?>,java.lang.annotation.Annotation>` | `_annotations`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnnotationMap()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `_add(java.lang.annotation.Annotation ann)`
    `boolean` | `add(java.lang.annotation.Annotation ann)` Method called to add specified annotation in the Map.
    `boolean` | `addIfNotPresent(java.lang.annotation.Annotation ann)` Method called to add specified annotation in the Map, but only if it didn't yet exist.
    `java.lang.Iterable<java.lang.annotation.Annotation>` | `annotations()`
    `<A extends java.lang.annotation.Annotation> A` | `get(java.lang.Class<A> cls)` Main access method used to find value for given annotation.
    `boolean` | `has(java.lang.Class<?> cls)`
    `boolean` | `hasOneOf(java.lang.Class<? extends java.lang.annotation.Annotation>[] annoClasses)` Helper method that can be used for a "bulk" check to see if at least one of given annotation types is included within this map.
    `static AnnotationMap` | `merge(AnnotationMap primary, AnnotationMap secondary)`
    `int` | `size()` Returns number of annotation entries in this collection.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### _annotations

          protected java.util.HashMap<java.lang.Class<?>,java.lang.annotation.Annotation> _annotations

  - ### Constructor Detail

    - #### AnnotationMap

          public AnnotationMap()

  - ### Method Detail

    - #### get

          public <A extends java.lang.annotation.Annotation> A get(java.lang.Class<A> cls)

      Description copied from interface: `Annotations`
      Main access method used to find value for given annotation.
      Specified by:
        `get` in interface `Annotations`

    - #### has

          public boolean has(java.lang.Class<?> cls)

    - #### hasOneOf

          public boolean hasOneOf(java.lang.Class<? extends java.lang.annotation.Annotation>[] annoClasses)

      Helper method that can be used for a "bulk" check to see if at least one of given annotation types is included within this map.
      Since:
        2.7

    - #### annotations

          public java.lang.Iterable<java.lang.annotation.Annotation> annotations()

      Since:
        2.3

    - #### merge

          public static AnnotationMap merge(AnnotationMap primary,
                            AnnotationMap secondary)

    - #### size

          public int size()

      Description copied from interface: `Annotations`
      Returns number of annotation entries in this collection.
      Specified by:
        `size` in interface `Annotations`

    - #### addIfNotPresent

          public boolean addIfNotPresent(java.lang.annotation.Annotation ann)

      Method called to add specified annotation in the Map, but only if it didn't yet exist.

    - #### add

          public boolean add(java.lang.annotation.Annotation ann)

      Method called to add specified annotation in the Map.
      Returns:
        True if the addition changed the contents, that is, this map did not already have specified annotation

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### _add

          protected final boolean _add(java.lang.annotation.Annotation ann)