|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.datanucleus.metadata.MetaData
org.datanucleus.metadata.AbstractClassMetaData
org.datanucleus.metadata.ClassMetaData
public class ClassMetaData
Representation of the MetaData of a class. Extends the abstract definition to include implementations, fields, embedded-only tags. Has a parent PackageMetaData that can contain the metadata for several classes.
Fields are of 2 types. The first are normal fields of this class. These have their own "relative" field number, relative to this class. The second type are "overriding" fields which override the baseline field in a superclass. These fields have no "relative" field number since they are relative to this class (and such a relative field number would make no sense). Fields are all added through addField() during the parse process, and are updated during the populate/initialise process to define their relative field numbers. Please refer to FieldMetaData for more details of fields.
| Field Summary | |
|---|---|
protected java.util.List<ImplementsMetaData> |
implementations
List of implements. |
protected ImplementsMetaData[] |
implementsMetaData
ImplementsMetaData |
protected boolean |
isAbstract
is the persistable class abstract. |
| Fields inherited from class org.datanucleus.metadata.MetaData |
|---|
extensions, LOCALISER, METADATA_CREATED_STATE, METADATA_INITIALISED_STATE, METADATA_POPULATED_STATE, METADATA_USED_STATE, metaDataState, parent, VENDOR_NAME, VENDOR_NAME_OLD |
| Constructor Summary | |
|---|---|
ClassMetaData(ClassMetaData cmd,
java.lang.String implClassName)
Constructor for creating the ClassMetaData for an implementation of a "persistent-abstract-class". |
|
ClassMetaData(InterfaceMetaData imd,
java.lang.String implClassName,
boolean copyFields)
Constructor for creating the ClassMetaData for an implementation of a "persistent-interface". |
|
ClassMetaData(PackageMetaData parent,
java.lang.String name)
Constructor. |
|
| Method Summary | |
|---|---|
void |
addImplements(ImplementsMetaData implmd)
Method to add an implements to this class. |
protected void |
addMetaDataForMembersNotInMetaData(java.lang.Class cls,
MetaDataManager mmgr)
Add MetaData of fields/properties not declared in MetaData. |
ImplementsMetaData[] |
getImplementsMetaData()
Accessor for the implements MetaData |
void |
initialise(ClassLoaderResolver clr,
MetaDataManager mmgr)
Method to initialise the object, creating internal convenience arrays. |
boolean |
isAbstract()
Whether the PersistenceCapable class is abstract. |
protected AbstractMemberMetaData |
newDefaultedProperty(java.lang.String name)
Utility to add a defaulted FieldMetaData to the class. |
void |
populate(ClassLoaderResolver clr,
java.lang.ClassLoader primary,
MetaDataManager mmgr)
Method to provide the details of the class being represented by this MetaData. |
protected void |
populateMemberMetaData(ClassLoaderResolver clr,
java.lang.Class cls,
boolean pkMembers,
java.lang.ClassLoader primary,
MetaDataManager mmgr)
Populate MetaData for all members. |
java.lang.String |
toString(java.lang.String prefix,
java.lang.String indent)
Returns a string representation of the object. |
| Methods inherited from class org.datanucleus.metadata.MetaData |
|---|
addExtension, addExtension, assertIfInitialised, getExtensions, getNoOfExtensions, getParent, getValueForExtension, getValuesForExtension, hasExtension, isInitialised, isPopulated, isUsed, newExtensionMetaData, removeExtension, setParent, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected java.util.List<ImplementsMetaData> implementations
protected ImplementsMetaData[] implementsMetaData
protected boolean isAbstract
| Constructor Detail |
|---|
public ClassMetaData(PackageMetaData parent,
java.lang.String name)
parent - The package to which this class belongsname - Name of class
public ClassMetaData(InterfaceMetaData imd,
java.lang.String implClassName,
boolean copyFields)
imd - MetaData for the "persistent-interface"implClassName - Name of the implementation classcopyFields - Whether to copy the fields of the interface too
public ClassMetaData(ClassMetaData cmd,
java.lang.String implClassName)
cmd - MetaData for the implementation of the "persistent-abstract-class"implClassName - Name of the implementation class| Method Detail |
|---|
public void populate(ClassLoaderResolver clr,
java.lang.ClassLoader primary,
MetaDataManager mmgr)
One possible use of this method would be to take a basic ClassMetaData for a class and call this, passing in the users class. This would then add FieldMetaData for all fields in this class providing defaults for all of these.
populate in class AbstractClassMetaDataclr - ClassLoaderResolver to use in loading any classesprimary - the primary ClassLoader to use (or null)mmgr - MetaData manager
protected void addMetaDataForMembersNotInMetaData(java.lang.Class cls,
MetaDataManager mmgr)
cls - Class represented by this metadatammgr - MetaData manager
protected void populateMemberMetaData(ClassLoaderResolver clr,
java.lang.Class cls,
boolean pkMembers,
java.lang.ClassLoader primary,
MetaDataManager mmgr)
clr - The ClassLoaderResolvercls - This classpkMembers - Process pk fields/properties (or non-PK if false)primary - the primary ClassLoader to use (or null)mmgr - MetaData manager
InvalidMetaDataException - if the Class for a declared type in a field cannot be loaded by the clr
InvalidMetaDataException - if a field declared in the MetaData does not exist in the Class
public void initialise(ClassLoaderResolver clr,
MetaDataManager mmgr)
initialise in class AbstractClassMetaDataclr - ClassLoader resolvermmgr - MetaData managerpublic boolean isAbstract()
protected AbstractMemberMetaData newDefaultedProperty(java.lang.String name)
newDefaultedProperty in class AbstractClassMetaDataname - name of field
public final ImplementsMetaData[] getImplementsMetaData()
public void addImplements(ImplementsMetaData implmd)
implmd - Meta-Data for the implements
public java.lang.String toString(java.lang.String prefix,
java.lang.String indent)
toString in class MetaDataprefix - prefix stringindent - indent string
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||