|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tc.backport175.bytecode.AnnotationReader
public class AnnotationReader
Reads Java 5 java.lang.annotation.RetentionPolicy.RUNTIME
and
java.lang.annotation.RetentionPolicy.CLASS
annotations from the class' bytecode.
org.codehaus.backport175.reader.bytecode.spi.BytecodeProvider
interface.
Note: does not handles Inherited
feature. This has to be done in the higher level
that knows about the class hierarchy (see backport175.Annotations f.e)
Nested Class Summary | |
---|---|
static class |
AnnotationReader.ClassKey
Contains info about the class being parsed. |
static class |
AnnotationReader.MemberKey
Unique key for class members (methods, fields and constructors) to be used in hash maps etc. |
Method Summary | |
---|---|
AnnotationVisitor |
createAnnotationVisitor(AnnotationElement.Annotation annotation)
Returns the annotation visitor to use. |
Annotation |
getAnnotation(java.lang.String annotationName)
Returns the class annotation with the name specified. |
Annotation |
getAnnotation(java.lang.String annotationName,
java.lang.reflect.Constructor constructor)
Returns the constructor annotation with the name specified for the constructor specified. |
Annotation |
getAnnotation(java.lang.String annotationName,
java.lang.reflect.Field field)
Returns the field annotation with the name specified for the field specified. |
Annotation |
getAnnotation(java.lang.String annotationName,
java.lang.reflect.Method method)
Returns the method annotation with the name specified for the method specified. |
AnnotationElement.Annotation |
getAnnotationElement(java.lang.String annotationName)
Returns the class annotation element with the name specified. |
AnnotationElement.Annotation[] |
getAnnotationElements()
Returns all the class annotations. |
Annotation[] |
getAnnotations()
Returns all the class annotations. |
Annotation[] |
getAnnotations(java.lang.reflect.Constructor constructor)
Returns all the constructor annotations. |
Annotation[] |
getAnnotations(java.lang.reflect.Field field)
Returns all the field annotations. |
Annotation[] |
getAnnotations(java.lang.reflect.Method method)
Returns all the method annotations. |
static byte[] |
getBytecodeFor(java.lang.String className,
java.lang.ClassLoader loader)
Returns the bytecode for a class. |
static BytecodeProvider |
getBytecodeProviderFor(java.lang.Class klass)
Returns the bytecode provider. |
static BytecodeProvider |
getBytecodeProviderFor(java.lang.String className,
java.lang.ClassLoader loader)
Returns the bytecode provider. |
Annotation |
getConstructorAnnotation(java.lang.String annotationName,
java.lang.String constructorDesc,
java.lang.ClassLoader loader)
Returns the constructor annotation with the name specified for the constructor specified. |
AnnotationElement.Annotation |
getConstructorAnnotationElement(java.lang.String annotationName,
java.lang.String desc)
Returns the annotation with the name specified for the constructor specified. |
AnnotationElement.Annotation[] |
getConstructorAnnotationElements(java.lang.String desc)
Returns all the constructor annotation elements. |
static BytecodeProvider |
getDefaultBytecodeProvider()
Returns the bytecode provider. |
Annotation |
getFieldAnnotation(java.lang.String annotationName,
java.lang.String fieldName,
java.lang.String fieldDesc,
java.lang.ClassLoader loader)
Returns the field annotation with the name specified for the field specified. |
AnnotationElement.Annotation |
getFieldAnnotationElement(java.lang.String annotationName,
java.lang.String name,
java.lang.String desc)
Returns the annotation with the name specified for the field specified. |
AnnotationElement.Annotation[] |
getFieldAnnotationElements(java.lang.String name,
java.lang.String desc)
Returns all the field annotation elements. |
Annotation |
getMethodAnnotation(java.lang.String annotationName,
java.lang.String methodName,
java.lang.String methodDesc,
java.lang.ClassLoader loader)
Returns the method annotation with the name specified for the method specified. |
AnnotationElement.Annotation |
getMethodAnnotationElement(java.lang.String annotationName,
java.lang.String name,
java.lang.String desc)
Returns the method annotation with the name specified for the method specified. |
AnnotationElement.Annotation[] |
getMethodAnnotationElements(java.lang.String name,
java.lang.String desc)
Returns all the method annotation elements. |
static AnnotationReader |
getReaderFor(AnnotationReader.ClassKey classKey)
Returns the annotation reader for the class specified. |
static AnnotationReader |
getReaderFor(java.lang.Class klass)
Returns the annotation reader for the class specified. |
static AnnotationReader |
getReaderFor(java.lang.String className,
java.lang.ClassLoader loader)
Returns the annotation reader for the class specified. |
boolean |
isAnnotationPresent(java.lang.String annotationName)
Checks if an annotation is present at a specific class. |
boolean |
isAnnotationPresent(java.lang.String annotationName,
java.lang.reflect.Constructor constructor)
Checks if an annotation is present at a specific constructor. |
boolean |
isAnnotationPresent(java.lang.String annotationName,
java.lang.reflect.Field field)
Checks if an annotation is present at a specific field. |
boolean |
isAnnotationPresent(java.lang.String annotationName,
java.lang.reflect.Method method)
Checks if an annotation is present at a specific method. |
boolean |
isConstructorAnnotationPresent(java.lang.String annotationName,
java.lang.String desc)
Checks if an annotation is present at a specific constructor. |
boolean |
isFieldAnnotationPresent(java.lang.String annotationName,
java.lang.String name,
java.lang.String desc)
Checks if an annotation is present at a specific field. |
boolean |
isMethodAnnotationPresent(java.lang.String annotationName,
java.lang.String name,
java.lang.String desc)
Checks if an annotation is present at a specific method. |
static void |
refresh(java.lang.Class klass)
Resets the annotation reader for the class specified and triggers a new parsing of the newly read bytecode. |
static void |
refresh(java.lang.String className,
java.lang.ClassLoader loader)
Resets the annotation reader for the class specified and triggers a new parsing of the newly read bytecode. |
static void |
refreshAll()
Resets *all* the annotation reader and triggers a new parsing of the newly read bytecode. |
static void |
setBytecodeProviderFor(java.lang.Class klass,
BytecodeProvider bytecodeProvider)
Sets the bytecode provider. |
static void |
setBytecodeProviderFor(java.lang.String className,
java.lang.ClassLoader loader,
BytecodeProvider bytecodeProvider)
Sets the bytecode provider. |
static void |
setDefaultBytecodeProvider(BytecodeProvider bytecodeProvider)
Sets the bytecode provider. |
static java.lang.String |
toJavaName(java.lang.String desc)
Converts the annotion class description to a Java class name. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static void setDefaultBytecodeProvider(BytecodeProvider bytecodeProvider)
bytecodeProvider
- public static BytecodeProvider getDefaultBytecodeProvider()
public static void setBytecodeProviderFor(java.lang.Class klass, BytecodeProvider bytecodeProvider)
klass
- bytecodeProvider
- public static void setBytecodeProviderFor(java.lang.String className, java.lang.ClassLoader loader, BytecodeProvider bytecodeProvider)
className
- loader
- bytecodeProvider
- public static BytecodeProvider getBytecodeProviderFor(java.lang.Class klass)
klass
-
public static BytecodeProvider getBytecodeProviderFor(java.lang.String className, java.lang.ClassLoader loader)
className
- loader
-
public static byte[] getBytecodeFor(java.lang.String className, java.lang.ClassLoader loader) throws java.lang.ClassNotFoundException, java.io.IOException
className
- loader
-
java.lang.ClassNotFoundException
java.io.IOException
public static AnnotationReader getReaderFor(java.lang.Class klass)
klass
-
public static AnnotationReader getReaderFor(java.lang.String className, java.lang.ClassLoader loader)
className
- loader
-
public static AnnotationReader getReaderFor(AnnotationReader.ClassKey classKey)
classKey
-
public static void refresh(java.lang.Class klass)
parse
and is therefore all the is needed to invoke to get a fully updated reader.
klass
- public static void refresh(java.lang.String className, java.lang.ClassLoader loader)
parse
and is therefore all the is needed to invoke to get a fully updated reader.
className
- loader
- public static void refreshAll()
parse
and is therefore all the is needed to invoke to get a fully updated reader.
public static java.lang.String toJavaName(java.lang.String desc)
desc
-
public boolean isAnnotationPresent(java.lang.String annotationName)
annotationName
- the annotation name
public Annotation getAnnotation(java.lang.String annotationName)
annotationName
-
public Annotation[] getAnnotations()
public boolean isAnnotationPresent(java.lang.String annotationName, java.lang.reflect.Constructor constructor)
annotationName
- the annotation nameconstructor
- the java.lang.reflect.Constructor object to find the annotations on.
public Annotation getAnnotation(java.lang.String annotationName, java.lang.reflect.Constructor constructor)
annotationName
- the annotation nameconstructor
- the java.lang.reflect.Constructor object to find the annotations on.
public Annotation getConstructorAnnotation(java.lang.String annotationName, java.lang.String constructorDesc, java.lang.ClassLoader loader)
annotationName
- constructorDesc
- loader
-
public Annotation[] getAnnotations(java.lang.reflect.Constructor constructor)
constructor
- the java.lang.reflect.Constructor object to find the annotations on.
public boolean isAnnotationPresent(java.lang.String annotationName, java.lang.reflect.Method method)
annotationName
- the annotation namemethod
- the java.lang.reflect.Method object to find the annotations on.
public Annotation getAnnotation(java.lang.String annotationName, java.lang.reflect.Method method)
annotationName
- the annotation namemethod
- the java.lang.reflect.Method object to find the annotations on.
public Annotation getMethodAnnotation(java.lang.String annotationName, java.lang.String methodName, java.lang.String methodDesc, java.lang.ClassLoader loader)
annotationName
- methodName
- methodDesc
- loader
-
public Annotation[] getAnnotations(java.lang.reflect.Method method)
method
- the java.lang.reflect.Method object to find the annotations on.
public boolean isAnnotationPresent(java.lang.String annotationName, java.lang.reflect.Field field)
annotationName
- the annotation namefield
- the java.lang.reflect.Field object to find the annotations on.
public Annotation getAnnotation(java.lang.String annotationName, java.lang.reflect.Field field)
annotationName
- the annotation namefield
- the java.lang.reflect.Field object to find the annotations on.
public Annotation getFieldAnnotation(java.lang.String annotationName, java.lang.String fieldName, java.lang.String fieldDesc, java.lang.ClassLoader loader)
annotationName
- fieldName
- fieldDesc
- loader
-
public Annotation[] getAnnotations(java.lang.reflect.Field field)
field
- the java.lang.reflect.Field object to find the annotations on.
public AnnotationElement.Annotation getAnnotationElement(java.lang.String annotationName)
annotationName
-
public AnnotationElement.Annotation[] getAnnotationElements()
public boolean isConstructorAnnotationPresent(java.lang.String annotationName, java.lang.String desc)
annotationName
- the annotation namedesc
- the constructor desc
public AnnotationElement.Annotation getConstructorAnnotationElement(java.lang.String annotationName, java.lang.String desc)
annotationName
- the annotation namedesc
- the constructor desc
public AnnotationElement.Annotation[] getConstructorAnnotationElements(java.lang.String desc)
desc
- the constructor desc
public boolean isMethodAnnotationPresent(java.lang.String annotationName, java.lang.String name, java.lang.String desc)
annotationName
- the annotation namename
- the method namedesc
- the method desc
public AnnotationElement.Annotation getMethodAnnotationElement(java.lang.String annotationName, java.lang.String name, java.lang.String desc)
annotationName
- the annotation namename
- the method namedesc
- the method desc
public AnnotationElement.Annotation[] getMethodAnnotationElements(java.lang.String name, java.lang.String desc)
name
- the method namedesc
- the method desc
public boolean isFieldAnnotationPresent(java.lang.String annotationName, java.lang.String name, java.lang.String desc)
annotationName
- the annotation namename
- the field namedesc
- the field desc
public AnnotationElement.Annotation getFieldAnnotationElement(java.lang.String annotationName, java.lang.String name, java.lang.String desc)
annotationName
- the annotation namename
- the field namedesc
- the field desc
public AnnotationElement.Annotation[] getFieldAnnotationElements(java.lang.String name, java.lang.String desc)
name
- the field namedesc
- the field desc
public AnnotationVisitor createAnnotationVisitor(AnnotationElement.Annotation annotation)
annotation
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |