Package com.google.auto.common
Class AnnotationMirrors
- java.lang.Object
-
- com.google.auto.common.AnnotationMirrors
-
public final class AnnotationMirrors extends Object
A utility class for working withAnnotationMirrorinstances.- Author:
- Gregory Kick
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.google.common.base.Equivalence<AnnotationMirror>equivalence()Returns anEquivalenceforAnnotationMirroras some implementations delegate equality tests toObject.equals(java.lang.Object)whereas the documentation explicitly states that instance/reference equality is not the proper test.static com.google.common.collect.ImmutableSet<? extends AnnotationMirror>getAnnotatedAnnotations(Element element, Class<? extends Annotation> annotationType)Returns all annotations that are present on the givenElementwhich are themselves annotated withannotationType.static Map.Entry<ExecutableElement,AnnotationValue>getAnnotationElementAndValue(AnnotationMirror annotationMirror, String elementName)Returns aExecutableElementand its associatedAnnotationValueif such an element was either declared in the usage represented by the providedAnnotationMirror, or if such an element was defined with a default.static AnnotationValuegetAnnotationValue(AnnotationMirror annotationMirror, String elementName)Returns anAnnotationValuefor the named element if such an element was either declared in the usage represented by the providedAnnotationMirror, or if such an element was defined with a default.static Map<ExecutableElement,AnnotationValue>getAnnotationValuesWithDefaults(AnnotationMirror annotation)Returns theAnnotationMirror's map ofAnnotationValueindexed byExecutableElement, supplying default values from the annotation if the annotation property has not been set.
-
-
-
Method Detail
-
equivalence
public static com.google.common.base.Equivalence<AnnotationMirror> equivalence()
Returns anEquivalenceforAnnotationMirroras some implementations delegate equality tests toObject.equals(java.lang.Object)whereas the documentation explicitly states that instance/reference equality is not the proper test.
-
getAnnotationValuesWithDefaults
public static Map<ExecutableElement,AnnotationValue> getAnnotationValuesWithDefaults(AnnotationMirror annotation)
Returns theAnnotationMirror's map ofAnnotationValueindexed byExecutableElement, supplying default values from the annotation if the annotation property has not been set. This is equivalent toElements.getElementValuesWithDefaults(AnnotationMirror)but can be called statically without an instance.
-
getAnnotationValue
public static AnnotationValue getAnnotationValue(AnnotationMirror annotationMirror, String elementName)
Returns anAnnotationValuefor the named element if such an element was either declared in the usage represented by the providedAnnotationMirror, or if such an element was defined with a default.- Throws:
IllegalArgumentException- if no element is defined with the given elementName.
-
getAnnotationElementAndValue
public static Map.Entry<ExecutableElement,AnnotationValue> getAnnotationElementAndValue(AnnotationMirror annotationMirror, String elementName)
Returns aExecutableElementand its associatedAnnotationValueif such an element was either declared in the usage represented by the providedAnnotationMirror, or if such an element was defined with a default.- Throws:
IllegalArgumentException- if no element is defined with the given elementName.
-
getAnnotatedAnnotations
public static com.google.common.collect.ImmutableSet<? extends AnnotationMirror> getAnnotatedAnnotations(Element element, Class<? extends Annotation> annotationType)
Returns all annotations that are present on the givenElementwhich are themselves annotated withannotationType.
-
-