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
`<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