public class ClassMetaData extends AbstractClassMetaData
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.
Modifier and Type | Field and Description |
---|---|
protected List<ImplementsMetaData> |
implementations
List of implements.
|
protected ImplementsMetaData[] |
implementsMetaData
ImplementsMetaData
|
protected boolean |
isAbstract
is the persistable class abstract.
|
accessViaField, allMemberPositions, cacheable, catalog, detachable, dfgMemberFlags, dfgMemberPositions, embeddedOnly, entityName, excludeDefaultListeners, excludeSuperClassListeners, fetchGroupMetaDataByName, fetchGroupMetaWithPostLoad, fetchGroups, foreignKeyMetaData, foreignKeys, fullName, GENERATED_PK_SUFFIX, hasRelations, identityMetaData, identitySpecified, identityType, implementationOfPersistentDefinition, indexes, indexMetaData, inheritanceMetaData, instantiable, joinMetaData, joins, listeners, managedMembers, mappedSuperclass, memberCount, memberPositionsByName, members, metaDataComplete, name, nonPkMemberFlags, nonPkMemberPositions, noOfInheritedManagedMembers, objectidClass, overriddenMembers, pcSuperclassMetaData, persistableSuperclass, persistenceModifier, persistentInterfaceImplNeedingTableFromSubclass, persistentInterfaceImplNeedingTableFromSuperclass, pkIsDatastoreAttributed, pkMemberPositions, primaryKeyMetaData, queries, queryResultMetaData, relationPositions, requiresExtent, schema, scoMutableMemberFlags, scoMutableMemberPositions, scoNonContainerMemberPositions, secondClassContainerMemberPositions, serializeRead, storedProcQueries, table, uniqueConstraints, uniqueMetaData, unmappedColumns, usesSingleFieldIdentityClass, versionMetaData
EXTENSION_CLASS_MULTITENANCY_COLUMN_LENGTH, EXTENSION_CLASS_MULTITENANCY_COLUMN_NAME, EXTENSION_CLASS_MULTITENANCY_DISABLE, EXTENSION_CLASS_MULTITENANCY_JDBC_TYPE, EXTENSION_CLASS_READ_ONLY, EXTENSION_CLASS_VERSION_FIELD_NAME, EXTENSION_MEMBER_CACHEABLE, EXTENSION_MEMBER_CALENDAR_ONE_COLUMN, EXTENSION_MEMBER_CASCADE_PERSIST, EXTENSION_MEMBER_CASCADE_REFRESH, EXTENSION_MEMBER_CASCADE_UPDATE, EXTENSION_MEMBER_COMPARATOR_NAME, EXTENSION_MEMBER_CONTAINER_ALLOW_NULLS, EXTENSION_MEMBER_ENUM_GETTER_BY_VALUE, EXTENSION_MEMBER_ENUM_VALUE_GETTER, EXTENSION_MEMBER_FETCH_FK_ONLY, EXTENSION_MEMBER_IMPLEMENTATION_CLASSES, EXTENSION_MEMBER_INSERTABLE, EXTENSION_MEMBER_LIST_ORDERING, EXTENSION_MEMBER_STRATEGY_WHEN_NOTNULL, EXTENSION_MEMBER_TYPE_CONVERTER_DISABLED, EXTENSION_MEMBER_TYPE_CONVERTER_NAME, EXTENSION_MEMBER_UPDATEABLE, extensions, METADATA_CREATED_STATE, METADATA_INITIALISED_STATE, METADATA_POPULATED_STATE, METADATA_USED_STATE, metaDataState, parent, VENDOR_NAME
Constructor and Description |
---|
ClassMetaData(ClassMetaData cmd,
String implClassName)
Constructor for creating the ClassMetaData for an implementation of a "persistent-abstract-class".
|
ClassMetaData(InterfaceMetaData imd,
String implClassName,
boolean copyFields)
Constructor for creating the ClassMetaData for an implementation of a "persistent-interface".
|
ClassMetaData(PackageMetaData parent,
String name)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addImplements(ImplementsMetaData implmd)
Method to add an implements to this class.
|
protected void |
addMetaDataForMembersNotInMetaData(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 persistable class is abstract.
|
protected AbstractMemberMetaData |
newDefaultedProperty(String name)
Utility to add a defaulted FieldMetaData to the class.
|
void |
populate(ClassLoaderResolver clr,
ClassLoader primary,
MetaDataManager mmgr)
Method to provide the details of the class being represented by this
MetaData.
|
protected void |
populateMemberMetaData(ClassLoaderResolver clr,
Class cls,
boolean pkMembers,
ClassLoader primary,
MetaDataManager mmgr)
Populate MetaData for all members.
|
String |
toString(String prefix,
String indent)
Returns a string representation of the object.
|
addFetchGroup, addForeignKey, addIndex, addJoin, addListener, addMember, addQuery, addQueryResultMetaData, addStoredProcQuery, addUniqueConstraint, addUnmappedColumn, applyDefaultDiscriminatorValueWhenNotSpecified, checkInitialised, checkNotYetPopulated, checkPopulated, copyMembersFromInterface, determineIdentity, determineInheritanceMetaData, determineObjectIdClass, determineSuperClassName, excludeDefaultListeners, excludeSuperClassListeners, getAbsoluteMemberPositionForRelativePosition, getAbsolutePositionOfMember, getAbsolutePositionOfMember, getAccessViaField, getAllMemberPositions, getBaseAbstractClassMetaData, getBaseIdentityMetaData, getBaseInheritanceStrategy, getBasicMemberPositions, getBidirectionalRelationMemberPositions, getCatalog, getDFGMemberFlags, getDFGMemberPositions, getDiscriminatorColumnMetaData, getDiscriminatorColumnName, getDiscriminatorMetaData, getDiscriminatorMetaDataForTable, getDiscriminatorMetaDataRoot, getDiscriminatorStrategy, getDiscriminatorStrategyForTable, getDiscriminatorValue, getEntityName, getFetchGroupMetaData, getFetchGroupMetaData, getFetchGroupMetaData, getForeignKeyMetaData, getFullClassName, getIdentityMetaData, getIdentityType, getIndexMetaData, getInheritanceMetaData, getJoinMetaData, getListenerForClass, getListeners, getManagedMembers, getMemberBeingOverridden, getMemberCount, getMetaDataForManagedMemberAtAbsolutePosition, getMetaDataForManagedMemberAtAbsolutePositionInternal, getMetaDataForManagedMemberAtRelativePosition, getMetaDataForMember, getMetaDataForMemberAtRelativePosition, getMultivaluedMemberPositions, getName, getNonPKMemberFlags, getNonPKMemberPositions, getNonRelationMemberPositions, getNoOfInheritedManagedMembers, getNoOfManagedMembers, getNoOfMembers, getNoOfOverriddenMembers, getNoOfPrimaryKeyMembers, getNoOfQueries, getNoOfStoredProcQueries, getObjectidClass, getOverriddenMember, getOverriddenMembers, getPackageMetaData, getPackageName, getPersistableSuperclass, getPersistenceModifier, getPKMemberPositions, getPrimaryKeyMemberNames, getPrimaryKeyMetaData, getQueries, getQueryResultMetaData, getRelationMemberPositions, getRelativePositionOfMember, getRootInstantiableClass, getSchema, getSCOContainerMemberPositions, getSCOMutableMemberFlags, getSCOMutableMemberPositions, getSCONonContainerMemberPositions, getStoredProcQueries, getSuperAbstractClassMetaData, getTable, getUniqueMetaData, getUnmappedColumns, getVersionMetaData, getVersionMetaDataForClass, getVersionMetaDataForTable, hasDiscriminatorStrategy, hasFetchGroupWithPostLoad, hasMember, hasRelations, inheritIdentity, initialiseMemberPositionInformation, isCacheable, isDescendantOf, isDetachable, isEmbeddedOnly, isExcludeDefaultListeners, isExcludeSuperClassListeners, isImplementationOfPersistentDefinition, isInstantiable, isMappedSuperclass, isMetaDataComplete, isRequiresExtent, isRootInstantiableClass, isSameOrAncestorOf, isSerializeRead, isVersioned, loadClass, newFetchGroupMetaData, newFieldMetadata, newForeignKeyMetadata, newIdentityMetadata, newIndexMetadata, newInheritanceMetadata, newJoinMetaData, newPrimaryKeyMetadata, newPropertyMetadata, newQueryMetadata, newStoredProcQueryMetadata, newUniqueMetadata, newUnmappedColumnMetaData, newVersionMetadata, pkIsDatastoreAttributed, setAccessViaField, setCacheable, setCacheable, setCatalog, setDetachable, setDetachable, setEmbeddedOnly, setEmbeddedOnly, setEntityName, setIdentityMetaData, setIdentityType, setInheritanceMetaData, setMappedSuperclass, setMetaDataComplete, setObjectIdClass, setPersistenceModifier, setPrimaryKeyMetaData, setRequiresExtent, setRequiresExtent, setSchema, setSerializeRead, setTable, setVersionMetaData, usesSingleFieldIdentityClass, validateObjectIdClass, validateUnmappedColumns, validateUserInputForIdentity, validateUserInputForInheritanceMetaData
addExtension, addExtension, getExtensions, getNoOfExtensions, getParent, getValueForExtension, getValuesForExtension, hasExtension, isInitialised, isPopulated, isUsed, newExtensionMetaData, removeExtension, setParent, toString
protected List<ImplementsMetaData> implementations
protected ImplementsMetaData[] implementsMetaData
protected boolean isAbstract
public ClassMetaData(PackageMetaData parent, String name)
parent
- The package to which this class belongsname
- Name of classpublic ClassMetaData(InterfaceMetaData imd, String implClassName, boolean copyFields)
imd
- MetaData for the "persistent-interface"implClassName
- Name of the implementation classcopyFields
- Whether to copy the fields of the interface toopublic ClassMetaData(ClassMetaData cmd, String implClassName)
cmd
- MetaData for the implementation of the "persistent-abstract-class"implClassName
- Name of the implementation classpublic void populate(ClassLoaderResolver clr, 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 AbstractClassMetaData
clr
- ClassLoaderResolver to use in loading any classesprimary
- the primary ClassLoader to use (or null)mmgr
- MetaData managerprotected void addMetaDataForMembersNotInMetaData(Class cls, MetaDataManager mmgr)
cls
- Class represented by this metadatammgr
- MetaData managerprotected void populateMemberMetaData(ClassLoaderResolver clr, Class cls, boolean pkMembers, 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 managerInvalidMetaDataException
- 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 Classpublic void initialise(ClassLoaderResolver clr, MetaDataManager mmgr)
initialise
in class AbstractClassMetaData
clr
- ClassLoader resolvermmgr
- MetaData managerpublic boolean isAbstract()
protected AbstractMemberMetaData newDefaultedProperty(String name)
newDefaultedProperty
in class AbstractClassMetaData
name
- name of fieldpublic final ImplementsMetaData[] getImplementsMetaData()
public void addImplements(ImplementsMetaData implmd)
implmd
- Meta-Data for the implementsCopyright © 2017. All rights reserved.