Package com.sun.tools.jxc.ap
Class InlineAnnotationReaderImpl
- java.lang.Object
-
- com.sun.xml.bind.v2.model.annotation.AbstractInlineAnnotationReaderImpl<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>
-
- com.sun.tools.jxc.ap.InlineAnnotationReaderImpl
-
- All Implemented Interfaces:
AnnotationReader<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>
public final class InlineAnnotationReaderImpl extends AbstractInlineAnnotationReaderImpl<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>
AnnotationReader
implementation that reads annotation inline from Annoation Processing.- Author:
- Kohsuke Kawaguchi (kk@kohsuke.org)
-
-
Field Summary
Fields Modifier and Type Field Description static InlineAnnotationReaderImpl
theInstance
The singleton instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
fullName(javax.lang.model.element.ExecutableElement m)
Gets the fully-qualified name of the method.java.lang.annotation.Annotation[]
getAllFieldAnnotations(javax.lang.model.element.VariableElement field, Locatable srcPos)
Gets all the annotations on a field.java.lang.annotation.Annotation[]
getAllMethodAnnotations(javax.lang.model.element.ExecutableElement method, Locatable srcPos)
Gets all the annotations on a method.<A extends java.lang.annotation.Annotation>
AgetClassAnnotation(java.lang.Class<A> a, javax.lang.model.element.TypeElement clazz, Locatable srcPos)
Reads an annotation on a class.javax.lang.model.type.TypeMirror[]
getClassArrayValue(java.lang.annotation.Annotation a, java.lang.String name)
Similar toAnnotationReader.getClassValue(Annotation, String)
method but obtains an array parameter.javax.lang.model.type.TypeMirror
getClassValue(java.lang.annotation.Annotation a, java.lang.String name)
Reads a value of an annotation that returns a Class object.<A extends java.lang.annotation.Annotation>
AgetFieldAnnotation(java.lang.Class<A> a, javax.lang.model.element.VariableElement f, Locatable srcPos)
Reads an annotation on a property that consists of a field.<A extends java.lang.annotation.Annotation>
AgetMethodAnnotation(java.lang.Class<A> a, javax.lang.model.element.ExecutableElement method, Locatable srcPos)
<A extends java.lang.annotation.Annotation>
AgetMethodParameterAnnotation(java.lang.Class<A> a, javax.lang.model.element.ExecutableElement m, int paramIndex, Locatable srcPos)
Reads an annotation on a parameter of the method.<A extends java.lang.annotation.Annotation>
AgetPackageAnnotation(java.lang.Class<A> a, javax.lang.model.element.TypeElement clazz, Locatable srcPos)
Reads an annotation on the package that the given class belongs to.boolean
hasClassAnnotation(javax.lang.model.element.TypeElement clazz, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Checks if a class has the annotation.boolean
hasFieldAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, javax.lang.model.element.VariableElement f)
Checks if the given field has an annotation.boolean
hasMethodAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> a, javax.lang.model.element.ExecutableElement method)
-
Methods inherited from class com.sun.xml.bind.v2.model.annotation.AbstractInlineAnnotationReaderImpl
getErrorHandler, getMethodAnnotation, hasMethodAnnotation, setErrorHandler
-
-
-
-
Field Detail
-
theInstance
public static final InlineAnnotationReaderImpl theInstance
The singleton instance.
-
-
Method Detail
-
getClassAnnotation
public <A extends java.lang.annotation.Annotation> A getClassAnnotation(java.lang.Class<A> a, javax.lang.model.element.TypeElement clazz, Locatable srcPos)
Description copied from interface:AnnotationReader
Reads an annotation on a class.
-
getFieldAnnotation
public <A extends java.lang.annotation.Annotation> A getFieldAnnotation(java.lang.Class<A> a, javax.lang.model.element.VariableElement f, Locatable srcPos)
Description copied from interface:AnnotationReader
Reads an annotation on a property that consists of a field.
-
hasFieldAnnotation
public boolean hasFieldAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, javax.lang.model.element.VariableElement f)
Description copied from interface:AnnotationReader
Checks if the given field has an annotation.
-
hasClassAnnotation
public boolean hasClassAnnotation(javax.lang.model.element.TypeElement clazz, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Description copied from interface:AnnotationReader
Checks if a class has the annotation.
-
getAllFieldAnnotations
public java.lang.annotation.Annotation[] getAllFieldAnnotations(javax.lang.model.element.VariableElement field, Locatable srcPos)
Description copied from interface:AnnotationReader
Gets all the annotations on a field.
-
getMethodAnnotation
public <A extends java.lang.annotation.Annotation> A getMethodAnnotation(java.lang.Class<A> a, javax.lang.model.element.ExecutableElement method, Locatable srcPos)
-
hasMethodAnnotation
public boolean hasMethodAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> a, javax.lang.model.element.ExecutableElement method)
-
getAllMethodAnnotations
public java.lang.annotation.Annotation[] getAllMethodAnnotations(javax.lang.model.element.ExecutableElement method, Locatable srcPos)
Description copied from interface:AnnotationReader
Gets all the annotations on a method.srcPos
- the location from which this annotation is read.
-
getMethodParameterAnnotation
public <A extends java.lang.annotation.Annotation> A getMethodParameterAnnotation(java.lang.Class<A> a, javax.lang.model.element.ExecutableElement m, int paramIndex, Locatable srcPos)
Description copied from interface:AnnotationReader
Reads an annotation on a parameter of the method.- Returns:
- null if the annotation was not found.
-
getPackageAnnotation
public <A extends java.lang.annotation.Annotation> A getPackageAnnotation(java.lang.Class<A> a, javax.lang.model.element.TypeElement clazz, Locatable srcPos)
Description copied from interface:AnnotationReader
Reads an annotation on the package that the given class belongs to.
-
getClassValue
public javax.lang.model.type.TypeMirror getClassValue(java.lang.annotation.Annotation a, java.lang.String name)
Description copied from interface:AnnotationReader
Reads a value of an annotation that returns a Class object.Depending on the underlying reflection library, you can't always obtain the
Class
object directly (see the Annotation Processing MirrorTypeException for example), so use this method to avoid that.name
- The name of the annotation parameter to be read.
-
getClassArrayValue
public javax.lang.model.type.TypeMirror[] getClassArrayValue(java.lang.annotation.Annotation a, java.lang.String name)
Description copied from interface:AnnotationReader
Similar toAnnotationReader.getClassValue(Annotation, String)
method but obtains an array parameter.
-
fullName
protected java.lang.String fullName(javax.lang.model.element.ExecutableElement m)
Description copied from class:AbstractInlineAnnotationReaderImpl
Gets the fully-qualified name of the method. Used for error messages.- Specified by:
fullName
in classAbstractInlineAnnotationReaderImpl<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>
-
-