|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.datanucleus.enhancer.AbstractClassEnhancer
public abstract class AbstractClassEnhancer
Abstract representation of a class enhancer. To be extended by implementing enhancers.
| Field Summary | |
|---|---|
String |
className
Class name of the class being enhanced |
protected org.datanucleus.ClassLoaderResolver |
clr
Class Loader Resolver to use for any loading issues. |
protected org.datanucleus.metadata.ClassMetaData |
cmd
MetaData for the class being enhanced. |
protected List<ClassField> |
fieldsToAdd
List of fields to be added to the class. |
protected boolean |
initialised
Flag for whether we are initialised. |
protected static org.datanucleus.util.Localiser |
LOCALISER
Message resource |
protected org.datanucleus.metadata.MetaDataManager |
metaDataMgr
MetaData Manager to use. |
protected List<ClassMethod> |
methodsToAdd
List of methods to be added to the class. |
protected Collection<String> |
options
Options for enhancement. |
protected boolean |
update
Flag specifying if the class needs updating. |
| Fields inherited from interface org.datanucleus.enhancer.ClassEnhancer |
|---|
OPTION_GENERATE_DEFAULT_CONSTRUCTOR, OPTION_GENERATE_DETACH_LISTENER, OPTION_GENERATE_PK |
| Constructor Summary | |
|---|---|
AbstractClassEnhancer(org.datanucleus.metadata.ClassMetaData cmd,
org.datanucleus.ClassLoaderResolver clr,
org.datanucleus.metadata.MetaDataManager mmgr)
Constructor. |
|
| Method Summary | |
|---|---|
org.datanucleus.ClassLoaderResolver |
getClassLoaderResolver()
Accessor for the ClassLoaderResolver |
org.datanucleus.metadata.ClassMetaData |
getClassMetaData()
Accessor for the ClassMetaData for the class. |
List<ClassField> |
getFieldsList()
Accessor for the fields required. |
org.datanucleus.metadata.MetaDataManager |
getMetaDataManager()
Accessor for the MetaData manager in use. |
List<ClassMethod> |
getMethodsList()
Accessor for the methods required. |
boolean |
hasOption(String name)
Accessor for whether a particular option is enabled. |
protected void |
initialise()
Initialisation of the information for enhancing this class. |
protected abstract void |
initialiseFieldsList()
Method to initialise the list of fields to add. |
protected abstract void |
initialiseMethodsList()
Method to initialise the list of methods to add. |
boolean |
isPersistenceCapable(String className)
Check if the class is PersistenceCapable or is going to be enhanced based on the metadata |
protected boolean |
requiresDetachable()
Convenience method for whether this class needs to implement Detachable |
void |
save(String directoryName)
Method to save the class definition bytecode into a class file. |
void |
setOptions(Collection<String> options)
Method to set the options controlling the enhancement. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final org.datanucleus.util.Localiser LOCALISER
protected final org.datanucleus.ClassLoaderResolver clr
protected final org.datanucleus.metadata.MetaDataManager metaDataMgr
protected final org.datanucleus.metadata.ClassMetaData cmd
public final String className
protected boolean update
protected List<ClassField> fieldsToAdd
protected List<ClassMethod> methodsToAdd
protected boolean initialised
protected Collection<String> options
| Constructor Detail |
|---|
public AbstractClassEnhancer(org.datanucleus.metadata.ClassMetaData cmd,
org.datanucleus.ClassLoaderResolver clr,
org.datanucleus.metadata.MetaDataManager mmgr)
cmd - MetaData for the class to be enhancedclr - ClassLoader resolvermmgr - MetaData manager| Method Detail |
|---|
protected void initialise()
protected abstract void initialiseMethodsList()
protected abstract void initialiseFieldsList()
public List<ClassMethod> getMethodsList()
public List<ClassField> getFieldsList()
public org.datanucleus.ClassLoaderResolver getClassLoaderResolver()
getClassLoaderResolver in interface ClassEnhancerpublic org.datanucleus.metadata.MetaDataManager getMetaDataManager()
ClassEnhancer
getMetaDataManager in interface ClassEnhancerpublic org.datanucleus.metadata.ClassMetaData getClassMetaData()
ClassEnhancer
getClassMetaData in interface ClassEnhancerprotected boolean requiresDetachable()
public boolean isPersistenceCapable(String className)
className - the class name
public void setOptions(Collection<String> options)
ClassEnhancer
setOptions in interface ClassEnhanceroptions - The optionspublic boolean hasOption(String name)
ClassEnhancer
hasOption in interface ClassEnhancername - Name of the option
public void save(String directoryName)
throws IOException
save in interface ClassEnhancerdirectoryName - Name of a directory (or null to overwrite the class)
IOException - If an I/O error occurs in the write.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||