Package org.datanucleus.metadata
Class InterfaceMetaData
java.lang.Object
org.datanucleus.metadata.MetaData
org.datanucleus.metadata.AbstractClassMetaData
org.datanucleus.metadata.InterfaceMetaData
- All Implemented Interfaces:
Serializable
Representation of the MetaData of a "persistent-interface".
- See Also:
-
Field Summary
FieldsFields inherited from class org.datanucleus.metadata.AbstractClassMetaData
accessViaField, allMemberPositions, cacheable, catalog, createTimestampMemberPosition, createUserMemberPosition, datastoreIdentityMetaData, detachable, dfgMemberFlags, dfgMemberPositions, embeddedOnly, entityName, excludeDefaultListeners, excludeSuperClassListeners, fetchGroupMetaDataByName, fetchGroupMetaWithPostLoad, fetchGroups, foreignKeys, fullName, GENERATED_PK_SUFFIX, hasRelations, identitySpecified, identityType, implementationOfPersistentDefinition, indexes, inheritanceMetaData, initialising, instantiable, joins, listeners, managedMembers, mappedSuperclass, memberCount, memberPositionsByName, members, metaDataComplete, mmgr, multitenancyMetaData, name, nonPkMemberFlags, nonPkMemberPositions, noOfInheritedManagedMembers, objectidClass, overriddenMembers, pcSuperclassMetaData, persistableSuperclass, persistenceModifier, persistentInterfaceImplNeedingTableFromSubclass, persistentInterfaceImplNeedingTableFromSuperclass, pkIsDatastoreAttributed, pkMemberPositions, populating, primaryKeyMetaData, queries, queryResultMetaData, relationPositions, requiresExtent, schema, scoContainerMemberFlags, scoMutableMemberFlags, scoMutableMemberPositions, scoNonContainerMemberPositions, serializeRead, softDeleteMetaData, storedProcQueries, table, uniqueConstraints, unmappedColumns, updateTimestampMemberPosition, updateUserMemberPosition, usesSingleFieldIdentityClass, valueGenerationMemberPositions, versionMetaData
Fields inherited from class org.datanucleus.metadata.MetaData
EXTENSION_CLASS_CREATETIMESTAMP, EXTENSION_CLASS_CREATETIMESTAMP_COLUMN_NAME, EXTENSION_CLASS_CREATEUSER, EXTENSION_CLASS_CREATEUSER_COLUMN_LENGTH, EXTENSION_CLASS_CREATEUSER_COLUMN_NAME, EXTENSION_CLASS_MULTITENANCY_COLUMN_LENGTH, EXTENSION_CLASS_MULTITENANCY_COLUMN_NAME, EXTENSION_CLASS_MULTITENANCY_JDBC_TYPE, EXTENSION_CLASS_MULTITENANT, EXTENSION_CLASS_READ_ONLY, EXTENSION_CLASS_SOFTDELETE, EXTENSION_CLASS_SOFTDELETE_COLUMN_NAME, EXTENSION_CLASS_UPDATETIMESTAMP, EXTENSION_CLASS_UPDATETIMESTAMP_COLUMN_NAME, EXTENSION_CLASS_UPDATEUSER, EXTENSION_CLASS_UPDATEUSER_COLUMN_LENGTH, EXTENSION_CLASS_UPDATEUSER_COLUMN_NAME, EXTENSION_CLASS_VERSION_FIELD_NAME, EXTENSION_CLASS_VIEW_DEFINITION, EXTENSION_CLASS_VIEW_IMPORTS, EXTENSION_INDEX_COLUMN_ORDERING, EXTENSION_MEMBER_CACHEABLE, EXTENSION_MEMBER_CALENDAR_ONE_COLUMN, EXTENSION_MEMBER_CASCADE_ATTACH, EXTENSION_MEMBER_CASCADE_DETACH, EXTENSION_MEMBER_CASCADE_PERSIST, EXTENSION_MEMBER_CASCADE_REFRESH, EXTENSION_MEMBER_COMPARATOR_NAME, EXTENSION_MEMBER_CONTAINER_ALLOW_NULLS, EXTENSION_MEMBER_CREATE_TIMESTAMP, EXTENSION_MEMBER_CREATE_USER, EXTENSION_MEMBER_ENUM_VALUE_GETTER, EXTENSION_MEMBER_IMPLEMENTATION_CLASSES, EXTENSION_MEMBER_INSERTABLE, EXTENSION_MEMBER_KEY_IMPLEMENTATION_CLASSES, EXTENSION_MEMBER_LIST_ORDERING, EXTENSION_MEMBER_RELATION_DISCRIM_COLUMN, EXTENSION_MEMBER_RELATION_DISCRIM_PK, EXTENSION_MEMBER_RELATION_DISCRIM_VALUE, EXTENSION_MEMBER_STRATEGY_WHEN_NOTNULL, EXTENSION_MEMBER_TYPE_CONVERTER_DISABLED, EXTENSION_MEMBER_TYPE_CONVERTER_NAME, EXTENSION_MEMBER_UPDATE_TIMESTAMP, EXTENSION_MEMBER_UPDATE_USER, EXTENSION_MEMBER_UPDATEABLE, EXTENSION_MEMBER_VALUE_IMPLEMENTATION_CLASSES, EXTENSION_VERSION_NUMBER_INITIAL_VALUE, extensions, metaDataState, parent, VENDOR_NAME
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Add MetaData for properties of the interface not declared in MetaData.void
Method to initialise the object, creating internal convenience arrays.protected AbstractMemberMetaData
newDefaultedProperty
(String name) Utility to add a defaulted PropertyMetaData to the class.void
populate
(ClassLoaderResolver clr, ClassLoader primary, MetaDataManager mgr) Method to provide the details of the class being represented by this MetaData.protected void
populatePropertyMetaData
(ClassLoaderResolver clr, Class<?> cls, boolean pkFields, ClassLoader primary) Populate PropertyMetaData.toString()
Methods inherited from class org.datanucleus.metadata.AbstractClassMetaData
addFetchGroup, addForeignKey, addIndex, addJoin, addListener, addMember, addQuery, addQueryResultMetaData, addStoredProcQuery, addUniqueConstraint, addUnmappedColumn, applyDefaultDiscriminatorValueWhenNotSpecified, checkForCircularViewReferences, checkInitialised, checkNotYetPopulated, checkPopulated, determineIdentity, determineInheritanceMetaData, determineObjectIdClass, determineSuperClassName, excludeDefaultListeners, excludeSuperClassListeners, getAbsolutePositionOfMember, getAccessViaField, getAllMemberPositions, getBaseAbstractClassMetaData, getBaseDatastoreIdentityMetaData, getBaseInheritanceStrategy, getBasicMemberPositions, getBidirectionalRelationMemberPositions, getCatalog, getCreateTimestampMemberPosition, getCreateUserMemberPosition, getDatastoreIdentityMetaData, getDFGMemberFlags, getDFGMemberPositions, getDiscriminatorColumnMetaData, getDiscriminatorColumnName, getDiscriminatorMetaData, getDiscriminatorMetaDataForTable, getDiscriminatorMetaDataRoot, getDiscriminatorStrategy, getDiscriminatorStrategyForTable, getDiscriminatorValue, getEntityName, getFetchGroupMetaData, getFetchGroupMetaData, getFetchGroupMetaData, getForeignKeyMetaData, getFullClassName, getIdentityType, getIndexMetaData, getInheritanceMetaData, getJoinMetaData, getListenerForClass, getListeners, getManagedMembers, getMemberBeingOverridden, getMemberCount, getMetaDataForManagedMemberAtAbsolutePosition, getMetaDataForManagedMemberAtAbsolutePositionInternal, getMetaDataForManagedMemberAtRelativePosition, getMetaDataForMember, getMetaDataForMemberAtRelativePosition, getMetaDataManager, getMultitenancyMetaData, getMultivaluedMemberPositions, getName, getNonPKMemberFlags, getNonPKMemberPositions, getNonRelationMemberPositions, getNoOfInheritedManagedMembers, getNoOfManagedMembers, getNoOfMembers, getNoOfPrimaryKeyMembers, getNoOfQueries, getNoOfStoredProcQueries, getObjectidClass, getOverriddenMember, getOverriddenMembers, getPackageMetaData, getPackageName, getPersistableSuperclass, getPersistenceModifier, getPKMemberPositions, getPrimaryKeyMemberNames, getPrimaryKeyMetaData, getQueries, getQueryResultMetaData, getReferencedClassMetaData, getRelationMemberPositions, getRelativePositionOfMember, getRootInstantiableClass, getSchema, getSCOContainerMemberFlags, getSCOMutableMemberFlags, getSCOMutableMemberPositions, getSCONonContainerMemberPositions, getSoftDeleteMetaData, getStoredProcQueries, getSuperAbstractClassMetaData, getTable, getUniqueMetaData, getUnmappedColumns, getUpdateTimestampMemberPosition, getUpdateUserMemberPosition, getValueGenerationMemberPositions, getVersionMetaData, getVersionMetaDataForClass, getVersionMetaDataForTable, hasDiscriminatorStrategy, hasFetchGroupWithPostLoad, hasMember, hasRelations, inheritIdentity, initialiseMemberPositionInformation, isCacheable, isDescendantOf, isDetachable, isEmbeddedOnly, isExcludeDefaultListeners, isExcludeSuperClassListeners, isImplementationOfPersistentDefinition, isInstantiable, isMappedSuperclass, isMetaDataComplete, isRequiresExtent, isRootInstantiableClass, isSameOrAncestorOf, isSerializeRead, isSoftDelete, isVersioned, loadClass, newDatastoreIdentityMetaData, newFetchGroupMetaData, newFieldMetaData, newForeignKeyMetaData, newIndexMetaData, newInheritanceMetaData, newJoinMetaData, newMultitenancyMetaData, newPrimaryKeyMetaData, newPropertyMetaData, newQueryMetaData, newSoftDeleteMetaData, newStoredProcQueryMetaData, newUniqueMetaData, newUnmappedColumnMetaData, newVersionMetaData, pkIsDatastoreAttributed, setAccessViaField, setCacheable, setCacheable, setCatalog, setDatastoreIdentityMetaData, setDetachable, setDetachable, setEmbeddedOnly, setEmbeddedOnly, setEntityName, setIdentityType, setInheritanceMetaData, setMappedSuperclass, setMetaDataComplete, setMultitenancyMetaData, setObjectIdClass, setPersistenceModifier, setPrimaryKeyMetaData, setRequiresExtent, setRequiresExtent, setSchema, setSerializeRead, setSoftDeleteMetaData, setTable, setVersionMetaData, usesSingleFieldIdentityClass, validateObjectIdClass, validateUnmappedColumns, validateUserInputForIdentity, validateUserInputForInheritanceMetaData
Methods inherited from class org.datanucleus.metadata.MetaData
addExtension, addExtensions, getExtensions, getNoOfExtensions, getParent, getValueForExtension, getValuesForExtension, hasExtension, isInitialised, isPopulated, isUsed, removeExtension, setExtensions, setInitialised, setParent, setPopulated, setUsed
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
Constructor Details
-
InterfaceMetaData
Constructor. Takes the basic string information found in the MetaData file.- Parameters:
parent
- The package to which this class belongsname
- Name of class
-
-
Method Details
-
populate
Method to provide the details of the class being represented by this MetaData. This can be used to firstly provide defaults for attributes that aren't specified in the MetaData, and secondly to report any errors with attributes that have been specified that are inconsistent with the class being represented.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 AbstractMemberMetaData for all fields in this class providing defaults for all of these.
- Specified by:
populate
in classAbstractClassMetaData
- Parameters:
clr
- ClassLoaderResolver to use in loading any classesprimary
- the primary ClassLoader to use (or null)mgr
- MetaData manager
-
initialise
Method to initialise the object, creating internal convenience arrays. Initialises all sub-objects. If populate() is going to be used it should be used BEFORE calling this method.- Overrides:
initialise
in classMetaData
- Parameters:
clr
- ClassLoader resolver
-
newDefaultedProperty
Utility to add a defaulted PropertyMetaData to the class. Provided as a method since then any derived classes can override it.- Overrides:
newDefaultedProperty
in classAbstractClassMetaData
- Parameters:
name
- name of field- Returns:
- the new PropertyMetaData
-
populatePropertyMetaData
protected void populatePropertyMetaData(ClassLoaderResolver clr, Class<?> cls, boolean pkFields, ClassLoader primary) Populate PropertyMetaData.- Parameters:
clr
- The ClassLoadercls
- This classpkFields
- Process pk fields (or non-PK fields if false)primary
- the primary ClassLoader to use (or null)- Throws:
InvalidMetaDataException
- if the Class for a declared type in a field cannot be loaded by theclr
InvalidMetaDataException
- if a field declared in the MetaData does not exist in the Class
-
addMetaDataForMembersNotInMetaData
Add MetaData for properties of the interface not declared in MetaData.- Parameters:
cls
- Class represented by this metadata
-
toString
-