|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jpox.metadata.annotations.AbstractAnnotationReader
public abstract class AbstractAnnotationReader
Abstract implementation of a metadata annotations reader for JDK 1.5. A metadata annotation reader takes in a class and converts its annotations into JPOX metadata. Any implementation has to implement the method "processClassAnnotations" which creates the ClassMetaData record for the class, and the method "processFieldAnnotations" which updates the ClassMetaData with its field definition.
Each annotation reader supports a set of annotations. So it could support "JPA" annotations, or "JDO" annotations, or "JPOX" annotations or whatever.
| Field Summary | |
|---|---|
protected static org.jpox.util.Localiser |
LOCALISER
Localiser for messages |
| Constructor Summary | |
|---|---|
AbstractAnnotationReader(org.jpox.metadata.MetaDataManager mgr)
Constructor. |
|
| Method Summary | |
|---|---|
protected AnnotationObject[] |
getAnnotationObjectsForAnnotations(java.lang.String clsName,
java.lang.annotation.Annotation[] annotations)
Convenience method to convert an array of Annotation objects into an array of AnnotationObjects. |
protected AnnotationObject[] |
getClassAnnotationsForClass(java.lang.Class cls)
Method returning the annotations for the class. |
protected java.util.Collection<org.jpox.metadata.annotations.AnnotatedField> |
getFieldAnnotationsForClass(java.lang.Class cls)
Method returning a Map containing an array of the annotations for each field of the passed class, keyed by the field name. |
protected java.util.Collection<org.jpox.metadata.annotations.AnnotatedField> |
getGettersAnnotationsForClass(java.lang.Class cls)
Method returning a Map containing an array of the annotations for each method of the passed class, keyed by the method name. |
org.jpox.metadata.ClassMetaData |
getMetaDataForClass(java.lang.Class cls,
org.jpox.metadata.PackageMetaData pmd)
Accessor for the ClassMetaData for the specified class from its annotations. |
protected java.util.Collection<java.lang.annotation.Annotation[]> |
getMethodAnnotationsForClass(java.lang.Class cls)
Method returning a Map containing an array of the annotations for each method of the passed class, keyed by the method name. |
java.lang.String[] |
getSupportedAnnotationPackages()
Method to set the valid annotation packages to be supported when reading. |
protected boolean |
isSupportedAnnotation(java.lang.String annotationClassName)
Convenience method to check whether an annotation class name is supported by this reader. |
protected abstract org.jpox.metadata.ClassMetaData |
processClassAnnotations(org.jpox.metadata.PackageMetaData pmd,
java.lang.Class cls,
AnnotationObject[] annotations)
Method to process the "class" level annotations and create the outline ClassMetaData object. |
protected abstract org.jpox.metadata.FieldMetaData |
processFieldAnnotations(org.jpox.metadata.ClassMetaData cmd,
java.lang.reflect.Field field,
AnnotationObject[] annotations)
Method to take the passed in outline ClassMetaData and process the annotations for fields adding any necessary FieldMetaData to the ClassMetaData. |
protected abstract void |
processMethodAnnotations(org.jpox.metadata.ClassMetaData cmd,
java.lang.reflect.Method method)
Method to take the passed in outline ClassMetaData and process the annotations for method adding any necessary MetaData to the ClassMetaData. |
protected void |
setSupportedAnnotationPackages(java.lang.String[] packages)
Method to set the valid annotation packages to be supported when reading. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static org.jpox.util.Localiser LOCALISER
| Constructor Detail |
|---|
public AbstractAnnotationReader(org.jpox.metadata.MetaDataManager mgr)
mgr - MetaData manager| Method Detail |
|---|
public java.lang.String[] getSupportedAnnotationPackages()
getSupportedAnnotationPackages in interface AnnotationReaderpackages - The supported packages.
protected void setSupportedAnnotationPackages(java.lang.String[] packages)
packages - The supported packages.protected boolean isSupportedAnnotation(java.lang.String annotationClassName)
annotationClassName - Name of the annotation class
public org.jpox.metadata.ClassMetaData getMetaDataForClass(java.lang.Class cls,
org.jpox.metadata.PackageMetaData pmd)
getMetaDataForClass in interface AnnotationReadercls - The classpmd - MetaData for the owning package
protected abstract org.jpox.metadata.ClassMetaData processClassAnnotations(org.jpox.metadata.PackageMetaData pmd,
java.lang.Class cls,
AnnotationObject[] annotations)
pmd - Parent PackageMetaDatacls - The classannotations - Annotations for the class
protected abstract org.jpox.metadata.FieldMetaData processFieldAnnotations(org.jpox.metadata.ClassMetaData cmd,
java.lang.reflect.Field field,
AnnotationObject[] annotations)
cmd - The ClassMetaData (to be updated)field - The field being processedannotations - The annotations for this field
protected abstract void processMethodAnnotations(org.jpox.metadata.ClassMetaData cmd,
java.lang.reflect.Method method)
cmd - The ClassMetaData (to be updated)method - The methodprotected AnnotationObject[] getClassAnnotationsForClass(java.lang.Class cls)
cls - The class
protected java.util.Collection<org.jpox.metadata.annotations.AnnotatedField> getGettersAnnotationsForClass(java.lang.Class cls)
cls - The class
protected java.util.Collection<java.lang.annotation.Annotation[]> getMethodAnnotationsForClass(java.lang.Class cls)
cls - The class
protected java.util.Collection<org.jpox.metadata.annotations.AnnotatedField> getFieldAnnotationsForClass(java.lang.Class cls)
cls - The class
protected AnnotationObject[] getAnnotationObjectsForAnnotations(java.lang.String clsName,
java.lang.annotation.Annotation[] annotations)
clsName - Name of the classannotations - The annotations
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||