Package com.google.gwt.core.ext.typeinfo

## Interface HasAnnotations

- All Known Subinterfaces:
    `JAbstractMethod`, `JAnnotationMethod`, `JAnnotationType`, `JArrayType`, `JClassType`, `JConstructor`, `JEnumConstant`, `JEnumType`, `JField`, `JGenericType`, `JMethod`, `JPackage`, `JParameter`, `JParameterizedType`, `JRawType`, `JRealClassType`, `JTypeParameter`, `JWildcardType`

      public interface HasAnnotations

  Interface implemented by elements that can have annotations. This interface is a departure for GWT in that it used types declared in the java.lang.annotation package instead of types declared as part of this typeinfo package. This reflects a compromise between a pure `TypeOracle` model and one that is more useful to developers.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T extends java.lang.annotation.Annotation> T` | `getAnnotation​(java.lang.Class<T> annotationClass)` | Returns an instance of the specified annotation type if it is present on this element or `null` if it is not.
    `java.lang.annotation.Annotation[]` | `getAnnotations()` | Returns all the annotations present on this element.
    `java.lang.annotation.Annotation[]` | `getDeclaredAnnotations()` | Returns the annotations declared directly on this element; does not include any inherited annotations.
    `boolean` | `isAnnotationPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)` | Returns `true` if this item has an annotation of the specified type.

- - ### Method Detail

    - #### getAnnotation

          <T extends java.lang.annotation.Annotation> T getAnnotation​(java.lang.Class<T> annotationClass)

      Returns an instance of the specified annotation type if it is present on this element or `null` if it is not. For a class, this will look for annotations on supertypes as well.
      Parameters:
        `annotationClass` - annotation type to search for
      Returns:
        instance of the specified annotation type if it is present on this element or `null` if it is not

    - #### getAnnotations

          java.lang.annotation.Annotation[] getAnnotations()

      Returns all the annotations present on this element. For a class, the list will include annotations on supertypes as well.

    - #### getDeclaredAnnotations

          java.lang.annotation.Annotation[] getDeclaredAnnotations()

      Returns the annotations declared directly on this element; does not include any inherited annotations.

    - #### isAnnotationPresent

          boolean isAnnotationPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)

      Returns `true` if this item has an annotation of the specified type. For a class, this will look at supertypes as well.
      Returns:
        `true` if this item has an annotation of the specified type