com.sun.tools.jxc.apt
Class InlineAnnotationReaderImpl

java.lang.Object
  extended by com.sun.xml.bind.v2.model.annotation.AbstractInlineAnnotationReaderImpl<com.sun.mirror.type.TypeMirror,com.sun.mirror.declaration.TypeDeclaration,com.sun.mirror.declaration.FieldDeclaration,com.sun.mirror.declaration.MethodDeclaration>
      extended by com.sun.tools.jxc.apt.InlineAnnotationReaderImpl
All Implemented Interfaces:
AnnotationReader<com.sun.mirror.type.TypeMirror,com.sun.mirror.declaration.TypeDeclaration,com.sun.mirror.declaration.FieldDeclaration,com.sun.mirror.declaration.MethodDeclaration>

public final class InlineAnnotationReaderImpl
extends AbstractInlineAnnotationReaderImpl<com.sun.mirror.type.TypeMirror,com.sun.mirror.declaration.TypeDeclaration,com.sun.mirror.declaration.FieldDeclaration,com.sun.mirror.declaration.MethodDeclaration>

AnnotationReader implementation that reads annotation inline from APT.


Field Summary
static InlineAnnotationReaderImpl theInstance
          The singleton instance.
 
Method Summary
protected  String fullName(com.sun.mirror.declaration.MethodDeclaration m)
          Gets the fully-qualified name of the method.
 Annotation[] getAllFieldAnnotations(com.sun.mirror.declaration.FieldDeclaration field, Locatable srcPos)
          Gets all the annotations on a field.
 Annotation[] getAllMethodAnnotations(com.sun.mirror.declaration.MethodDeclaration method, Locatable srcPos)
          Gets all the annotations on a method.
<A extends Annotation>
A
getClassAnnotation(Class<A> a, com.sun.mirror.declaration.TypeDeclaration clazz, Locatable srcPos)
          Reads an annotation on a class.
 com.sun.mirror.type.TypeMirror[] getClassArrayValue(Annotation a, String name)
          Similar to AnnotationReader.getClassValue(Annotation, String) method but obtains an array parameter.
 com.sun.mirror.type.TypeMirror getClassValue(Annotation a, String name)
          Reads a value of an annotation that returns a Class object.
<A extends Annotation>
A
getFieldAnnotation(Class<A> a, com.sun.mirror.declaration.FieldDeclaration f, Locatable srcPos)
          Reads an annotation on a property that consists of a field.
<A extends Annotation>
A
getMethodAnnotation(Class<A> a, com.sun.mirror.declaration.MethodDeclaration method, Locatable srcPos)
           
<A extends Annotation>
A
getMethodParameterAnnotation(Class<A> a, com.sun.mirror.declaration.MethodDeclaration m, int paramIndex, Locatable srcPos)
          Reads an annotation on a parameter of the method.
<A extends Annotation>
A
getPackageAnnotation(Class<A> a, com.sun.mirror.declaration.TypeDeclaration clazz, Locatable srcPos)
          Reads an annotation on the package that the given class belongs to.
 boolean hasClassAnnotation(com.sun.mirror.declaration.TypeDeclaration clazz, Class<? extends Annotation> annotationType)
          Checks if a class has the annotation.
 boolean hasFieldAnnotation(Class<? extends Annotation> annotationType, com.sun.mirror.declaration.FieldDeclaration f)
          Checks if the given field has an annotation.
 boolean hasMethodAnnotation(Class<? extends Annotation> a, com.sun.mirror.declaration.MethodDeclaration method)
           
 
Methods inherited from class com.sun.xml.bind.v2.model.annotation.AbstractInlineAnnotationReaderImpl
getErrorHandler, getMethodAnnotation, hasMethodAnnotation, setErrorHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

theInstance

public static final InlineAnnotationReaderImpl theInstance
The singleton instance.

Method Detail

getClassAnnotation

public <A extends Annotation> A getClassAnnotation(Class<A> a,
                                                   com.sun.mirror.declaration.TypeDeclaration clazz,
                                                   Locatable srcPos)
Description copied from interface: AnnotationReader
Reads an annotation on a class.


getFieldAnnotation

public <A extends Annotation> A getFieldAnnotation(Class<A> a,
                                                   com.sun.mirror.declaration.FieldDeclaration f,
                                                   Locatable srcPos)
Description copied from interface: AnnotationReader
Reads an annotation on a property that consists of a field.


hasFieldAnnotation

public boolean hasFieldAnnotation(Class<? extends Annotation> annotationType,
                                  com.sun.mirror.declaration.FieldDeclaration f)
Description copied from interface: AnnotationReader
Checks if the given field has an annotation.


hasClassAnnotation

public boolean hasClassAnnotation(com.sun.mirror.declaration.TypeDeclaration clazz,
                                  Class<? extends Annotation> annotationType)
Description copied from interface: AnnotationReader
Checks if a class has the annotation.


getAllFieldAnnotations

public Annotation[] getAllFieldAnnotations(com.sun.mirror.declaration.FieldDeclaration field,
                                           Locatable srcPos)
Description copied from interface: AnnotationReader
Gets all the annotations on a field.


getMethodAnnotation

public <A extends Annotation> A getMethodAnnotation(Class<A> a,
                                                    com.sun.mirror.declaration.MethodDeclaration method,
                                                    Locatable srcPos)

hasMethodAnnotation

public boolean hasMethodAnnotation(Class<? extends Annotation> a,
                                   com.sun.mirror.declaration.MethodDeclaration method)

getAllMethodAnnotations

public Annotation[] getAllMethodAnnotations(com.sun.mirror.declaration.MethodDeclaration 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 Annotation> A getMethodParameterAnnotation(Class<A> a,
                                                             com.sun.mirror.declaration.MethodDeclaration 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 Annotation> A getPackageAnnotation(Class<A> a,
                                                     com.sun.mirror.declaration.TypeDeclaration clazz,
                                                     Locatable srcPos)
Description copied from interface: AnnotationReader
Reads an annotation on the package that the given class belongs to.


getClassValue

public com.sun.mirror.type.TypeMirror getClassValue(Annotation a,
                                                    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 APT MirrorTypeException for example), so use this method to avoid that.

name - The name of the annotation parameter to be read.

getClassArrayValue

public com.sun.mirror.type.TypeMirror[] getClassArrayValue(Annotation a,
                                                           String name)
Description copied from interface: AnnotationReader
Similar to AnnotationReader.getClassValue(Annotation, String) method but obtains an array parameter.


fullName

protected String fullName(com.sun.mirror.declaration.MethodDeclaration m)
Description copied from class: AbstractInlineAnnotationReaderImpl
Gets the fully-qualified name of the method. Used for error messages.

Specified by:
fullName in class AbstractInlineAnnotationReaderImpl<com.sun.mirror.type.TypeMirror,com.sun.mirror.declaration.TypeDeclaration,com.sun.mirror.declaration.FieldDeclaration,com.sun.mirror.declaration.MethodDeclaration>