|
||||||||||
| 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.IOExceptionpublic 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 | |||||||||