Package org.datanucleus.metadata
Class AbstractMemberMetaData
- java.lang.Object
- 
- org.datanucleus.metadata.MetaData
- 
- org.datanucleus.metadata.AbstractMemberMetaData
 
 
- 
- All Implemented Interfaces:
- Serializable,- Comparable,- ColumnMetaDataContainer
 - Direct Known Subclasses:
- FieldMetaData,- PropertyMetaData
 
 public abstract class AbstractMemberMetaData extends MetaData implements Comparable, ColumnMetaDataContainer Abstract representation of MetaData for a field/property of a class/interface. The term "member" is used to represent either a field or a method(property). The term property is used to represent the name after cutting off any Java-beans style "get" prefix. This class is extended for fields (FieldMetaData) and properties (PropertyMetaData) to provide the explicit support for those components.- See Also:
- Serialized Form
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected booleancacheablecacheable tag value.protected BooleancascadeAttachWhether to attach this relation when attaching the owning object.protected BooleancascadeDeleteWhether to delete this relation when deleting the owning object (JPA/Jakarta).protected BooleancascadeDetachWhether to detach this relation when detaching the owning object (JPA/Jakarta).protected BooleancascadePersistWhether to persist this relation when persisting the owning object.protected BooleancascadeRefreshWhether to refresh this relation when refreshing the owning object (JPA/Jakarta).protected booleancascadeRemoveOrphansWhether to remove orphans when deleting the owning object (JPA/Jakarta).protected StringcatalogCatalog for the table specified for this field.protected StringclassNameName of the class to which this field really belongs.protected Stringcolumncolumn tag value.protected ColumnMetaData[]columnMetaDataContains the metadata for column(s).protected List<ColumnMetaData>columnsColumns ColumnMetaDataprotected ContainerMetaDatacontainerMetaDataMeta-Data of any container.protected BooleandefaultFetchGroupdefault-fetch-group tag value.protected BooleandependentWhether this field contains a reference that should be deleted when deleting this field.protected ElementMetaDataelementMetaDataElementMetaData.protected Booleanembeddedembedded tag value.protected EmbeddedMetaDataembeddedMetaDataDefinition of embedding.static StringEXTENSION_MEMBER_FETCH_FK_ONLYMember : whether to fetch just the FK (and not populate the related object).protected intfieldIdId of the field in its class (only for fields that are managed).protected ForeignKeyMetaDataforeignKeyMetaDataForeignKeyMetaData.protected StringfullFieldNameCache result ofgetFullFieldName().protected IndexedValueindexedThe indexing valueprotected IndexMetaDataindexMetaDataIndexMetaData.protected JoinMetaDatajoinMetaDataJoinMetaData.protected KeyMetaDatakeyMetaDataKeyMetaData.protected StringloadFetchGroupload-fetch-group value.protected StringmappedBymapped-by tag value.protected StringmapsIdAttributePlaceholder for the JPA "mapsId" attribute, in case a store plugin wants to use itprotected MembermemberRepresentedThe member (field/method) being represented here.protected StringnameField name.protected NullValuenullValuenull-value tag value (default is NONE).protected booleanorderedTemporary flag to signify if the field is ordered.protected OrderMetaDataorderMetaDataOrderMetaData.static booleanPERSIST_FINALWhether we currently allow persistence of final fields.static booleanPERSIST_STATICWhether we currently allow persistence of static fields.static booleanPERSIST_TRANSIENTWhether we currently allow persistence of transient fields.protected bytepersistenceFlagsFlags for use in enhancement process [see JDO spec 21.14]protected FieldPersistenceModifierpersistenceModifierpersistence-modifier tag value.protected BooleanprimaryKeyprimary key tag value.protected IntegerrecursionDepthrecursion-depth value.protected AbstractMemberMetaData[]relatedMemberMetaDataMetaData for the other end of a relation when this member is a bidirectional relation.protected RelationTyperelationTypeThe relation type of this field (1-1, 1-N, M-N, N-1).protected StringrelationTypeStringPlaceholder for the JPA relation type ManyToOne, OneToOne etc so we can store what the user specified.protected StringschemaSchema for the table specified for this field.protected StringsequenceIf the value-strategy is sequence, the sequence attribute specifies the name of the sequence to use to automatically generate a value for the field.protected Booleanserializedserialized tag value.protected booleanstoreInLobWrapper for the ugly JPA "lob" so that when being populated we should make this serialised in some way.protected StringtableTable name for this field.protected StringtargetClassNameName of the target entity (when used with JPA MetaData on OneToOne, OneToMany etc)protected ClasstypeField type being represented.protected booleanuniqueConstraintWhether to add a unique constraint.protected UniqueMetaDatauniqueMetaDataUniqueMetaData.protected StringvalueGeneratorNameName of a value generator if the user wants to override the default generator.protected ValueMetaDatavalueMetaDataValueMetaData.protected ValueGenerationStrategyvalueStrategyThe value-strategy attribute specifies the strategy used to generate values for the field.- 
Fields inherited from class org.datanucleus.metadata.MetaDataEXTENSION_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 SummaryConstructors Constructor Description AbstractMemberMetaData(MetaData parent, String name)Constructor for a fields metadata.AbstractMemberMetaData(MetaData parent, AbstractMemberMetaData mmd)Convenience constructor to copy the specification from the passed member.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddColumn(ColumnMetaData colmd)Add a new ColumnMetaData elementMetaDataaddExtension(String key, String value)MetaDataaddExtensions(Map<String,String> exts)booleancalcIsSecondClassMutable(MetaDataManager mmgr)Calculate whether this field should be a second class mutable field.voidclearColumns()intcompareTo(Object o)Comparator method.booleanfieldBelongsToClass()Accessor for whether the field is for a superclass, and not for this class.intgetAbsoluteFieldNumber()Accessor for the absolute field idAbstractClassMetaDatagetAbstractClassMetaData()Convenience accessor for the MetaData of the parent class.ArrayMetaDatagetArray()Accessor for an array container for this field.StringgetCatalog()StringgetClassName()Accessor for the fully-qualified class name owning this field.StringgetClassName(boolean fully_qualified)Convenience to return the class name that this a field of.CollectionMetaDatagetCollection()Accessor for a collection container for this field.ColumnMetaData[]getColumnMetaData()Acessor for the columnsContainerMetaDatagetContainer()Accessor for the container for this field.FieldPersistenceModifiergetDefaultFieldPersistenceModifier(Class c, int modifier, boolean isPCclass, MetaDataManager mmgr)Accessor for the default "persistence-modifier" for a field given the class, its modifier and whether it is a Persistable class.ElementMetaDatagetElementMetaData()Accessor for elementMetaDataEmbeddedMetaDatagetEmbeddedMetaData()Accessor for embeddedMetaDataintgetFieldId()Accessor for the field id.String[]getFieldTypes()Accessor for the implementation type(s) that can be stored in this field when it is a reference type.ForeignKeyMetaDatagetForeignKeyMetaData()Accessor for foreignKeyMetaDataStringgetFullFieldName()Accessor for the full field name.IndexedValuegetIndexed()IndexMetaDatagetIndexMetaData()Accessor for indexMetaDataJoinMetaDatagetJoinMetaData()Accessor for joinMetaDataKeyMetaDatagetKeyMetaData()Accessor for keyMetaDataStringgetLoadFetchGroup()MapMetaDatagetMap()Accessor for a map container for this field.StringgetMappedBy()StringgetMapsIdAttribute()MembergetMemberRepresented()Accessor for the member being represented.StringgetName()Accessor for the field nameNullValuegetNullValue()OrderMetaDatagetOrderMetaData()Accessor for orderMetaDataprotected static MetaDatagetOverallParentClassMetaData(MetaData metadata)Convenience method to navigate back through the parents to find the overall ClassMetaData handling this object.StringgetPackageName()bytegetPersistenceFlags()Accessor for the persistence flagsFieldPersistenceModifiergetPersistenceModifier()IntegergetRecursionDepth()AbstractMemberMetaData[]getRelatedMemberMetaData(ClassLoaderResolver clr)Accessor for the FieldMetaData of any related field/property (where this field is part of a bidirectional relation).AbstractMemberMetaDatagetRelatedMemberMetaDataForObject(ClassLoaderResolver clr, Object thisPC, Object otherPC)Convenience accessor for the MetaData for the field/property at the other side of the bidirectional relation given the objects at this side and the other side.RelationTypegetRelationType(ClassLoaderResolver clr)Accessor for the relation type for this field.StringgetRelationTypeString()StringgetSchema()StringgetSequence()If the value-strategy is sequence, the sequence attribute specifies the name of the sequence to use to automatically generate a value for the field.StringgetTable()StringgetTargetClassName()ClassgetType()Accessor for the field typeStringgetTypeConverterName()StringgetTypeName()Accessor for the field type nameUniqueMetaDatagetUniqueMetaData()Accessor for uniqueMetaDataStringgetValueGeneratorName()Name of a (user-provided) value generator to override the default generator for this strategy.ValueMetaDatagetValueMetaData()Accessor for valueMetaDataValueGenerationStrategygetValueStrategy()booleanhasArray()Accessor for whether the field has an arraybooleanhasCollection()Accessor for whether the field has a collectionbooleanhasContainer()Accessor for whether the field has a container.booleanhasMap()Accessor for whether the field has a map.voidinitialise(ClassLoaderResolver clr)Initialisation method.booleanisAbstract()Convenience method to return if this field represents an abstract property.booleanisCacheable()booleanisCascadeAttach()Accessor for the whether this field should be cascaded at attach.booleanisCascadeDelete()Accessor for the whether this field should be cascaded at delete.booleanisCascadeDetach()Accessor for the whether this field should be cascaded at detach.booleanisCascadePersist()Accessor for the whether this field should be cascaded at persist.booleanisCascadeRefresh()Accessor for the whether this field should be cascaded at refresh.booleanisCascadeRemoveOrphans()Accessor for the whether this field should remove orphans at delete.booleanisCreateTimestamp()booleanisCreateUser()booleanisDefaultFetchGroup()booleanisDependent()booleanisEmbedded()booleanisFieldArrayTypePersistable(MetaDataManager mmgr)Utility to return if this array field has elements that are Persistable.booleanisFieldToBePersisted()Accessor for whether the field is to be persisted by the persistence process.booleanisFinal()Convenience method to return if this field/property is final.booleanisInsertable()Convenience method to return if the field/property is insertable.booleanisOrdered()booleanisPersistentInterface(ClassLoaderResolver clr)Convenience method to return if this member relates to a persistent interface.booleanisPrimaryKey()booleanisPrivate()Convenience method to return if this field/property is private.booleanisProtected()Convenience method to return if this field/property is protected.booleanisPublic()Convenience method to return if this field/property is public.booleanisRelationOwner(ClassLoaderResolver clr)Convenience method for whether this field is the owner of the relation.booleanisSerialized()booleanisSingleCollection()Accessor for whether the field has a collection that holds only one element.booleanisStatic()Convenience method to return if this field/property is static.booleanisTransient()Convenience method to return if this field/property is transient.booleanisTypeConversionDisabled()booleanisUnique()booleanisUpdateable()Convenience method to return if the field/property is updateable.booleanisUpdateTimestamp()booleanisUpdateUser()ArrayMetaDatanewArrayMetaData()Method to create a new array metadata, set it, and return it.CollectionMetaDatanewCollectionMetaData()Method to create a new collection metadata, set it, and return it.ColumnMetaDatanewColumnMetaData()ElementMetaDatanewElementMetaData()Method to create a new element metadata, set it, and return it.EmbeddedMetaDatanewEmbeddedMetaData()Method to create a new embedded metadata, set it, and return it.ForeignKeyMetaDatanewForeignKeyMetaData()Method to create a new FK metadata, set it, and return it.IndexMetaDatanewIndexMetaData()Method to create a new index metadata, set it, and return it.JoinMetaDatanewJoinMetaData()Method to create a new join metadata, set it, and return it.KeyMetaDatanewKeyMetaData()Method to create a new key metadata, set it, and return it.MapMetaDatanewMapMetaData()Method to create a new map metadata, set it, and return it.OrderMetaDatanewOrderMetaData()Method to create a new order metadata, set it, and return it.UniqueMetaDatanewUniqueMetaData()Method to create a new unique metadata, set it, and return it.ValueMetaDatanewValueMetaData()Method to create a new value metadata, set it, and return it.voidpopulate(ClassLoaderResolver clr, Field field, Method method, ClassLoader primary, MetaDataManager mmgr)Method to provide the details of the field being represented by this MetaData hence populating certain parts of the MetaData.voidsetCacheable(boolean cache)voidsetCascadeAttach(boolean cascade)Mutator for the cascading of attach operations on this field.voidsetCascadeDelete(boolean cascade)Mutator for the cascading of delete operations on this field.voidsetCascadeDetach(boolean cascade)Mutator for the cascading of detach operations on this field.voidsetCascadePersist(boolean cascade)Mutator for the cascading of persist operations on this field.voidsetCascadeRefresh(boolean cascade)Mutator for the cascading of refresh operations on this field.voidsetCascadeRemoveOrphans(boolean cascade)Mutator for the cascading of orphan removal operations on this field.AbstractMemberMetaDatasetCatalog(String catalog)AbstractMemberMetaDatasetColumn(String col)voidsetContainer(ContainerMetaData conmd)Method to set the container for this field (if this field represents a container (collection, map, array).voidsetDefaultFetchGroup(boolean dfg)voidsetDeleteAction(String action)voidsetDependent(boolean dependent)voidsetElementMetaData(ElementMetaData elementMetaData)Mutator for the element MetaDatavoidsetEmbedded(boolean val)voidsetEmbeddedMetaData(EmbeddedMetaData embeddedMetaData)Mutator for the embedded MetaDataMetaDatasetExtensions(Map<String,String> exts)voidsetFieldTypes(String types)Mutator for the possible field type(s) that this reference field can store.voidsetForeignKeyMetaData(ForeignKeyMetaData foreignKeyMetaData)Mutator for the foreignKey MetaDataAbstractMemberMetaDatasetIndexed(IndexedValue val)voidsetIndexMetaData(IndexMetaData indexMetaData)Mutator for the index MetaDatavoidsetJoinMetaData(JoinMetaData joinMetaData)Mutator for the join MetaDatavoidsetKeyMetaData(KeyMetaData keyMetaData)Mutator for the key MetaDatavoidsetLoadFetchGroup(String loadFetchGroup)voidsetMappedBy(String mappedBy)voidsetMapsIdAttribute(String attr)voidsetNotPersistent()AbstractMemberMetaDatasetNullValue(NullValue val)voidsetOrdered()Mutator for whether the collection stored in this field is ordered.voidsetOrderMetaData(OrderMetaData orderMetaData)Mutator for the order MetaDatavoidsetPersistenceModifier(FieldPersistenceModifier modifier)AbstractMemberMetaDatasetPrimaryKey(boolean flag)voidsetRecursionDepth(int depth)voidsetRecursionDepth(String depth)protected voidsetRelation(ClassLoaderResolver clr)Convenience method that sets up the relation type of this field, and the reference to any related field when it is bidirectional.voidsetRelationTypeString(String relType)AbstractMemberMetaDatasetSchema(String schema)voidsetSequence(String sequence)If the value-strategy is sequence, the sequence attribute specifies the name of the sequence to use to automatically generate a value for the field.voidsetSerialised(boolean flag)voidsetStoreInLob()Mutator for whetehr to store as a "lob".AbstractMemberMetaDatasetTable(String table)voidsetTargetClassName(String target)Mutator for the target class name.voidsetTransactional()voidsetTypeConverterDisabled()voidsetTypeConverterName(String name)AbstractMemberMetaDatasetUnique(boolean unique)AbstractMemberMetaDatasetUnique(String unique)voidsetUniqueMetaData(UniqueMetaData uniqueMetaData)Mutator for the unique MetaDatavoidsetValueGeneratorName(String generator)Mutator for the name of the value generator to use for this strategy.voidsetValueMetaData(ValueMetaData valueMetaData)Mutator for the value MetaDatavoidsetValueStrategy(String strategy)voidsetValueStrategy(ValueGenerationStrategy valueStrategy)- 
Methods inherited from class org.datanucleus.metadata.MetaDatagetExtensions, getMetaDataManager, getNoOfExtensions, getParent, getValueForExtension, getValuesForExtension, hasExtension, isInitialised, isPopulated, isUsed, removeExtension, setParent
 
- 
 
- 
- 
- 
Field Detail- 
PERSIST_STATICpublic static final boolean PERSIST_STATIC Whether we currently allow persistence of static fields.- See Also:
- Constant Field Values
 
 - 
PERSIST_FINALpublic static final boolean PERSIST_FINAL Whether we currently allow persistence of final fields.- See Also:
- Constant Field Values
 
 - 
PERSIST_TRANSIENTpublic static final boolean PERSIST_TRANSIENT Whether we currently allow persistence of transient fields.- See Also:
- Constant Field Values
 
 - 
columnMetaDataprotected ColumnMetaData[] columnMetaData Contains the metadata for column(s).
 - 
containerMetaDataprotected ContainerMetaData containerMetaData Meta-Data of any container.
 - 
embeddedMetaDataprotected EmbeddedMetaData embeddedMetaData Definition of embedding. Only present if defined by user.
 - 
joinMetaDataprotected JoinMetaData joinMetaData JoinMetaData.
 - 
elementMetaDataprotected ElementMetaData elementMetaData ElementMetaData.
 - 
keyMetaDataprotected KeyMetaData keyMetaData KeyMetaData.
 - 
valueMetaDataprotected ValueMetaData valueMetaData ValueMetaData.
 - 
indexMetaDataprotected IndexMetaData indexMetaData IndexMetaData.
 - 
indexedprotected IndexedValue indexed The indexing value
 - 
uniqueMetaDataprotected UniqueMetaData uniqueMetaData UniqueMetaData.
 - 
uniqueConstraintprotected boolean uniqueConstraint Whether to add a unique constraint.
 - 
orderMetaDataprotected OrderMetaData orderMetaData OrderMetaData.
 - 
foreignKeyMetaDataprotected ForeignKeyMetaData foreignKeyMetaData ForeignKeyMetaData.
 - 
defaultFetchGroupprotected Boolean defaultFetchGroup default-fetch-group tag value.
 - 
columnprotected String column column tag value.
 - 
mappedByprotected String mappedBy mapped-by tag value.
 - 
embeddedprotected Boolean embedded embedded tag value.
 - 
serializedprotected Boolean serialized serialized tag value.
 - 
cacheableprotected boolean cacheable cacheable tag value.
 - 
dependentprotected Boolean dependent Whether this field contains a reference that should be deleted when deleting this field.
 - 
cascadePersistprotected Boolean cascadePersist Whether to persist this relation when persisting the owning object.
 - 
cascadeDeleteprotected Boolean cascadeDelete Whether to delete this relation when deleting the owning object (JPA/Jakarta). This is only used at metadata population. See "dependent".
 - 
cascadeAttachprotected Boolean cascadeAttach Whether to attach this relation when attaching the owning object.
 - 
cascadeDetachprotected Boolean cascadeDetach Whether to detach this relation when detaching the owning object (JPA/Jakarta).
 - 
cascadeRefreshprotected Boolean cascadeRefresh Whether to refresh this relation when refreshing the owning object (JPA/Jakarta).
 - 
cascadeRemoveOrphansprotected boolean cascadeRemoveOrphans Whether to remove orphans when deleting the owning object (JPA/Jakarta).
 - 
loadFetchGroupprotected String loadFetchGroup load-fetch-group value.
 - 
recursionDepthprotected Integer recursionDepth recursion-depth value.
 - 
nameprotected final String name Field name.
 - 
nullValueprotected NullValue nullValue null-value tag value (default is NONE).
 - 
persistenceModifierprotected FieldPersistenceModifier persistenceModifier persistence-modifier tag value.
 - 
primaryKeyprotected Boolean primaryKey primary key tag value.
 - 
tableprotected String table Table name for this field.
 - 
catalogprotected String catalog Catalog for the table specified for this field.
 - 
schemaprotected String schema Schema for the table specified for this field.
 - 
valueStrategyprotected ValueGenerationStrategy valueStrategy The value-strategy attribute specifies the strategy used to generate values for the field. This attribute has the same values and meaning as the strategy attribute in datastoreidentity.
 - 
valueGeneratorNameprotected String valueGeneratorName Name of a value generator if the user wants to override the default generator.
 - 
sequenceprotected String sequence If the value-strategy is sequence, the sequence attribute specifies the name of the sequence to use to automatically generate a value for the field.
 - 
classNameprotected String className Name of the class to which this field really belongs. Will be null if the field belongs to the parent ClassMetaData, and will have a value if it is an overriding field.
 - 
fullFieldNameprotected String fullFieldName Cache result ofgetFullFieldName().
 - 
typeprotected Class type Field type being represented.
 - 
memberRepresentedprotected Member memberRepresented The member (field/method) being represented here. Note, this prevents Serialization.
 - 
fieldIdprotected int fieldId Id of the field in its class (only for fields that are managed). If the value is -1, the field is NOT managed or the object hasn't been populated.
 - 
relationTypeprotected RelationType relationType The relation type of this field (1-1, 1-N, M-N, N-1).
 - 
relatedMemberMetaDataprotected AbstractMemberMetaData[] relatedMemberMetaData MetaData for the other end of a relation when this member is a bidirectional relation. This may be multiple fields if the FK is shared.
 - 
orderedprotected boolean ordered Temporary flag to signify if the field is ordered.
 - 
columnsprotected List<ColumnMetaData> columns Columns ColumnMetaData
 - 
targetClassNameprotected String targetClassName Name of the target entity (when used with JPA MetaData on OneToOne, OneToMany etc)
 - 
storeInLobprotected boolean storeInLob Wrapper for the ugly JPA "lob" so that when being populated we should make this serialised in some way.
 - 
mapsIdAttributeprotected String mapsIdAttribute Placeholder for the JPA "mapsId" attribute, in case a store plugin wants to use it
 - 
relationTypeStringprotected String relationTypeString Placeholder for the JPA relation type ManyToOne, OneToOne etc so we can store what the user specified.
 - 
persistenceFlagsprotected byte persistenceFlags Flags for use in enhancement process [see JDO spec 21.14]
 - 
EXTENSION_MEMBER_FETCH_FK_ONLYpublic static final String EXTENSION_MEMBER_FETCH_FK_ONLY Member : whether to fetch just the FK (and not populate the related object). Equates to fetching the field with recursion-depth=0- See Also:
- Constant Field Values
 
 
- 
 - 
Constructor Detail- 
AbstractMemberMetaDatapublic AbstractMemberMetaData(MetaData parent, AbstractMemberMetaData mmd) Convenience constructor to copy the specification from the passed member. This is used when we have an overriding field and we make a copy of the baseline member as a starting point.- Parameters:
- parent- The parent
- mmd- The member metadata to copy
 
 
- 
 - 
Method Detail- 
populatepublic void populate(ClassLoaderResolver clr, Field field, Method method, ClassLoader primary, MetaDataManager mmgr) Method to provide the details of the field being represented by this MetaData hence populating certain parts of the MetaData. This is 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 specifed that are inconsistent with the field being represented. Either a field or a method should be passed in (one or the other) depending on what is being represented by this "member".- Parameters:
- clr- ClassLoaderResolver to use for any class loading
- field- Field that we are representing (if it's a field)
- method- Method(property) that we are representing (if it's a method).
- primary- the primary ClassLoader to use (or null)
- mmgr- MetaData manager
 
 - 
getPackageNamepublic String getPackageName() 
 - 
getDefaultFieldPersistenceModifierpublic final FieldPersistenceModifier getDefaultFieldPersistenceModifier(Class c, int modifier, boolean isPCclass, MetaDataManager mmgr) Accessor for the default "persistence-modifier" for a field given the class, its modifier and whether it is a Persistable class.- Parameters:
- c- The class
- modifier- The modifiers for the field
- isPCclass- Whether it is persistence capable.
- mmgr- MetaData manager
- Returns:
- The default field PersistenceModifier.
 
 - 
initialisepublic void initialise(ClassLoaderResolver clr) Initialisation method. This should be called AFTER using the populate method if you are going to use populate. It creates the internal convenience arrays etc needed for normal operation.- Overrides:
- initialisein class- MetaData
 
 - 
isFieldArrayTypePersistablepublic boolean isFieldArrayTypePersistable(MetaDataManager mmgr) Utility to return if this array field has elements that are Persistable. Not valid for use by the enhancer. Must be overridden for that mode. If the field is not an array will return false.- Parameters:
- mmgr- MetaData manager
- Returns:
- Whether the field type is persistable. TODO Move this out into a org.datanucleus.store.types class
 
 - 
isStaticpublic boolean isStatic() Convenience method to return if this field/property is static. When the object is not "populated" always returns false;- Returns:
- Whether the field/property is static
 
 - 
isFinalpublic boolean isFinal() Convenience method to return if this field/property is final. When the object is not "populated" always returns false;- Returns:
- Whether the field is field/property
 
 - 
isTransientpublic boolean isTransient() Convenience method to return if this field/property is transient. When the object is not "populated" always returns false;- Returns:
- Whether the field/property is transient
 
 - 
isPublicpublic boolean isPublic() Convenience method to return if this field/property is public. When the object is not "populated" always returns false;- Returns:
- Whether the field/property is public
 
 - 
isProtectedpublic boolean isProtected() Convenience method to return if this field/property is protected. When the object is not "populated" always returns false;- Returns:
- Whether the field/property is protected
 
 - 
isPrivatepublic boolean isPrivate() Convenience method to return if this field/property is private. When the object is not "populated" always returns false;- Returns:
- Whether the field/property is private
 
 - 
isAbstractpublic boolean isAbstract() Convenience method to return if this field represents an abstract property.- Returns:
- Whether the property is abstract
 
 - 
getValueStrategypublic ValueGenerationStrategy getValueStrategy() 
 - 
setValueStrategypublic void setValueStrategy(ValueGenerationStrategy valueStrategy) 
 - 
setValueStrategypublic void setValueStrategy(String strategy) 
 - 
getValueGeneratorNamepublic String getValueGeneratorName() Name of a (user-provided) value generator to override the default generator for this strategy.- Returns:
- Name of user provided value generator
 
 - 
getSequencepublic String getSequence() If the value-strategy is sequence, the sequence attribute specifies the name of the sequence to use to automatically generate a value for the field.- Returns:
- the sequence name
 
 - 
setSequencepublic void setSequence(String sequence) If the value-strategy is sequence, the sequence attribute specifies the name of the sequence to use to automatically generate a value for the field.- Parameters:
- sequence- the sequence name
 
 - 
isCacheablepublic boolean isCacheable() 
 - 
setCacheablepublic void setCacheable(boolean cache) 
 - 
getLoadFetchGrouppublic String getLoadFetchGroup() 
 - 
setLoadFetchGrouppublic void setLoadFetchGroup(String loadFetchGroup) 
 - 
getTypeConverterNamepublic String getTypeConverterName() 
 - 
setTypeConverterNamepublic void setTypeConverterName(String name) 
 - 
isTypeConversionDisabledpublic boolean isTypeConversionDisabled() 
 - 
setTypeConverterDisabledpublic void setTypeConverterDisabled() 
 - 
getRecursionDepthpublic Integer getRecursionDepth() 
 - 
setRecursionDepthpublic void setRecursionDepth(int depth) 
 - 
setRecursionDepthpublic void setRecursionDepth(String depth) 
 - 
addExtensionspublic MetaData addExtensions(Map<String,String> exts) - Overrides:
- addExtensionsin class- MetaData
 
 - 
setExtensionspublic MetaData setExtensions(Map<String,String> exts) - Overrides:
- setExtensionsin class- MetaData
 
 - 
addExtensionpublic MetaData addExtension(String key, String value) - Overrides:
- addExtensionin class- MetaData
 
 - 
getOverallParentClassMetaDataprotected static MetaData getOverallParentClassMetaData(MetaData metadata) Convenience method to navigate back through the parents to find the overall ClassMetaData handling this object. This is to cater specifically for nested embedded fields where you can nest object several levels deep.- Parameters:
- metadata- The metadata to check
- Returns:
- The overall class metadata for this element
 
 - 
getAbstractClassMetaDatapublic AbstractClassMetaData getAbstractClassMetaData() Convenience accessor for the MetaData of the parent class.- Returns:
- Returns the MetaData of the parent class.
 
 - 
getOrderMetaDatapublic final OrderMetaData getOrderMetaData() Accessor for orderMetaData- Returns:
- Returns the orderMetaData.
 
 - 
getNamepublic String getName() Accessor for the field name- Returns:
- field name
 
 - 
getFullFieldNamepublic String getFullFieldName() Accessor for the full field name. This prepends the class name.- Returns:
- full field name.
 
 - 
fieldBelongsToClasspublic boolean fieldBelongsToClass() Accessor for whether the field is for a superclass, and not for this class.- Returns:
- Whether the field belongs to a superclass
 
 - 
getClassNamepublic String getClassName() Accessor for the fully-qualified class name owning this field.- Returns:
- The class name
 
 - 
getClassNamepublic String getClassName(boolean fully_qualified) Convenience to return the class name that this a field of.- Parameters:
- fully_qualified- Whether the name should be fully qualified.
- Returns:
- Class name
 
 - 
getPersistenceModifierpublic FieldPersistenceModifier getPersistenceModifier() 
 - 
setPersistenceModifierpublic void setPersistenceModifier(FieldPersistenceModifier modifier) 
 - 
setNotPersistentpublic void setNotPersistent() 
 - 
setTransactionalpublic void setTransactional() 
 - 
isDefaultFetchGrouppublic boolean isDefaultFetchGroup() 
 - 
setDefaultFetchGrouppublic void setDefaultFetchGroup(boolean dfg) 
 - 
isEmbeddedpublic boolean isEmbedded() 
 - 
setEmbeddedpublic void setEmbedded(boolean val) 
 - 
isSerializedpublic boolean isSerialized() 
 - 
setSerialisedpublic void setSerialised(boolean flag) 
 - 
getMapsIdAttributepublic String getMapsIdAttribute() 
 - 
isDependentpublic boolean isDependent() 
 - 
setDependentpublic void setDependent(boolean dependent) 
 - 
isCascadePersistpublic boolean isCascadePersist() Accessor for the whether this field should be cascaded at persist.- Returns:
- Whether to cascade at persist
 
 - 
isCascadeDeletepublic boolean isCascadeDelete() Accessor for the whether this field should be cascaded at delete.- Returns:
- Whether to cascade at delete
 
 - 
isCascadeAttachpublic boolean isCascadeAttach() Accessor for the whether this field should be cascaded at attach.- Returns:
- Whether to cascade at attach
 
 - 
isCascadeDetachpublic boolean isCascadeDetach() Accessor for the whether this field should be cascaded at detach.- Returns:
- Whether to cascade at detach
 
 - 
isCascadeRefreshpublic boolean isCascadeRefresh() Accessor for the whether this field should be cascaded at refresh.- Returns:
- Whether to cascade at refresh
 
 - 
isCascadeRemoveOrphanspublic boolean isCascadeRemoveOrphans() Accessor for the whether this field should remove orphans at delete.- Returns:
- Whether to remove orphans at delete
 
 - 
setCascadePersistpublic void setCascadePersist(boolean cascade) Mutator for the cascading of persist operations on this field.- Parameters:
- cascade- Whether to cascade at persist
 
 - 
setCascadeAttachpublic void setCascadeAttach(boolean cascade) Mutator for the cascading of attach operations on this field.- Parameters:
- cascade- Whether to cascade at attach
 
 - 
setCascadeDeletepublic void setCascadeDelete(boolean cascade) Mutator for the cascading of delete operations on this field.- Parameters:
- cascade- Whether to cascade at delete
 
 - 
setCascadeDetachpublic void setCascadeDetach(boolean cascade) Mutator for the cascading of detach operations on this field.- Parameters:
- cascade- Whether to cascade at detach
 
 - 
setCascadeRefreshpublic void setCascadeRefresh(boolean cascade) Mutator for the cascading of refresh operations on this field.- Parameters:
- cascade- Whether to cascade at refresh
 
 - 
setCascadeRemoveOrphanspublic void setCascadeRemoveOrphans(boolean cascade) Mutator for the cascading of orphan removal operations on this field.- Parameters:
- cascade- Whether to remove orphans on remove
 
 - 
isPrimaryKeypublic boolean isPrimaryKey() 
 - 
setPrimaryKeypublic AbstractMemberMetaData setPrimaryKey(boolean flag) 
 - 
isCreateUserpublic boolean isCreateUser() 
 - 
isCreateTimestamppublic boolean isCreateTimestamp() 
 - 
isUpdateUserpublic boolean isUpdateUser() 
 - 
isUpdateTimestamppublic boolean isUpdateTimestamp() 
 - 
setColumnpublic AbstractMemberMetaData setColumn(String col) 
 - 
getTablepublic String getTable() 
 - 
setTablepublic AbstractMemberMetaData setTable(String table) 
 - 
getCatalogpublic String getCatalog() 
 - 
setCatalogpublic AbstractMemberMetaData setCatalog(String catalog) 
 - 
getSchemapublic String getSchema() 
 - 
setSchemapublic AbstractMemberMetaData setSchema(String schema) 
 - 
isUniquepublic boolean isUnique() 
 - 
setUniquepublic AbstractMemberMetaData setUnique(String unique) 
 - 
setUniquepublic AbstractMemberMetaData setUnique(boolean unique) 
 - 
getIndexedpublic IndexedValue getIndexed() 
 - 
setIndexedpublic AbstractMemberMetaData setIndexed(IndexedValue val) 
 - 
getNullValuepublic NullValue getNullValue() 
 - 
setNullValuepublic AbstractMemberMetaData setNullValue(NullValue val) 
 - 
getFieldIdpublic int getFieldId() Accessor for the field id. Not set when the field is an overriding field.- Returns:
- field id
 
 - 
getFieldTypespublic final String[] getFieldTypes() Accessor for the implementation type(s) that can be stored in this field when it is a reference type.- Returns:
- Returns the implementation type(s) for the field.
 
 - 
setFieldTypespublic void setFieldTypes(String types) Mutator for the possible field type(s) that this reference field can store.- Parameters:
- types- The types (comma-separated)
 
 - 
getAbsoluteFieldNumberpublic int getAbsoluteFieldNumber() Accessor for the absolute field id- Returns:
- field id
 
 - 
getMemberRepresentedpublic Member getMemberRepresented() Accessor for the member being represented.- Returns:
- The member
 
 - 
getTypepublic Class getType() Accessor for the field type- Returns:
- Reflection field type
 
 - 
getTypeNamepublic String getTypeName() Accessor for the field type name- Returns:
- Reflection field type name
 
 - 
getContainerpublic ContainerMetaData getContainer() Accessor for the container for this field.- Returns:
- The MetaData of the container for this field.
 
 - 
getArraypublic ArrayMetaData getArray() Accessor for an array container for this field. Returns null if no array attached.- Returns:
- The MetaData of the container for this field if an array
 
 - 
getCollectionpublic CollectionMetaData getCollection() Accessor for a collection container for this field. Returns null if no collection present.- Returns:
- The MetaData of the container for this field if a Collection.
 
 - 
getMappublic MapMetaData getMap() Accessor for a map container for this field. Returns null if no map present.- Returns:
- The MetaData of the container for this field if a Map.
 
 - 
hasContainerpublic boolean hasContainer() Accessor for whether the field has a container.- Returns:
- Whether it represents a container.
 
 - 
hasArraypublic boolean hasArray() Accessor for whether the field has an array- Returns:
- return true if has array
 
 - 
hasCollectionpublic boolean hasCollection() Accessor for whether the field has a collection- Returns:
- return true if has collection
 
 - 
isSingleCollectionpublic boolean isSingleCollection() Accessor for whether the field has a collection that holds only one element.- Returns:
- Whether this is a collection with single element
 
 - 
hasMappublic boolean hasMap() Accessor for whether the field has a map.- Returns:
- return true if has map
 
 - 
getColumnMetaDatapublic final ColumnMetaData[] getColumnMetaData() Acessor for the columns- Specified by:
- getColumnMetaDatain interface- ColumnMetaDataContainer
- Returns:
- Returns the columnMetaData.
 
 - 
getElementMetaDatapublic final ElementMetaData getElementMetaData() Accessor for elementMetaData- Returns:
- Returns the elementMetaData.
 
 - 
getKeyMetaDatapublic final KeyMetaData getKeyMetaData() Accessor for keyMetaData- Returns:
- Returns the keyMetaData.
 
 - 
getValueMetaDatapublic final ValueMetaData getValueMetaData() Accessor for valueMetaData- Returns:
- Returns the valueMetaData.
 
 - 
getEmbeddedMetaDatapublic final EmbeddedMetaData getEmbeddedMetaData() Accessor for embeddedMetaData- Returns:
- Returns the embeddedMetaData.
 
 - 
getMappedBypublic final String getMappedBy() 
 - 
setMappedBypublic void setMappedBy(String mappedBy) 
 - 
setDeleteActionpublic void setDeleteAction(String action) 
 - 
getForeignKeyMetaDatapublic final ForeignKeyMetaData getForeignKeyMetaData() Accessor for foreignKeyMetaData- Returns:
- Returns the foreignKeyMetaData.
 
 - 
getIndexMetaDatapublic final IndexMetaData getIndexMetaData() Accessor for indexMetaData- Returns:
- Returns the indexMetaData.
 
 - 
getUniqueMetaDatapublic final UniqueMetaData getUniqueMetaData() Accessor for uniqueMetaData- Returns:
- Returns the uniqueMetaData.
 
 - 
getJoinMetaDatapublic final JoinMetaData getJoinMetaData() Accessor for joinMetaData- Returns:
- Returns the joinMetaData.
 
 - 
addColumnpublic void addColumn(ColumnMetaData colmd) Add a new ColumnMetaData element- Specified by:
- addColumnin interface- ColumnMetaDataContainer
- Parameters:
- colmd- the ColumnMetaData to add
 
 - 
clearColumnspublic void clearColumns() 
 - 
newColumnMetaDatapublic ColumnMetaData newColumnMetaData() 
 - 
getPersistenceFlagspublic byte getPersistenceFlags() Accessor for the persistence flags- Returns:
- Persistence flags (for enhancing)
 
 - 
isFieldToBePersistedpublic boolean isFieldToBePersisted() Accessor for whether the field is to be persisted by the persistence process. Currently omits static and final fields, and fields explicitly marked as not persistent.- Returns:
- Whether it is managed
 
 - 
isOrderedpublic boolean isOrdered() 
 - 
getTargetClassNamepublic String getTargetClassName() 
 - 
setOrderedpublic void setOrdered() Mutator for whether the collection stored in this field is ordered. Only valid until the metadata is initialised.
 - 
setTargetClassNamepublic void setTargetClassName(String target) Mutator for the target class name. Only valid until the metadata is initialised.- Parameters:
- target- Target class name
 
 - 
setStoreInLobpublic void setStoreInLob() Mutator for whetehr to store as a "lob".
 - 
setMapsIdAttributepublic void setMapsIdAttribute(String attr) 
 - 
setRelationTypeStringpublic void setRelationTypeString(String relType) 
 - 
getRelationTypeStringpublic String getRelationTypeString() 
 - 
setValueGeneratorNamepublic void setValueGeneratorName(String generator) Mutator for the name of the value generator to use for this strategy.- Parameters:
- generator- Name of value generator
 
 - 
setContainerpublic void setContainer(ContainerMetaData conmd) Method to set the container for this field (if this field represents a container (collection, map, array).- Parameters:
- conmd- The MetaData of the container for this field.
 
 - 
newCollectionMetaDatapublic CollectionMetaData newCollectionMetaData() Method to create a new collection metadata, set it, and return it.- Returns:
- The collection metadata
 
 - 
newArrayMetaDatapublic ArrayMetaData newArrayMetaData() Method to create a new array metadata, set it, and return it.- Returns:
- The array metadata
 
 - 
newMapMetaDatapublic MapMetaData newMapMetaData() Method to create a new map metadata, set it, and return it.- Returns:
- The map metadata
 
 - 
setElementMetaDatapublic final void setElementMetaData(ElementMetaData elementMetaData) Mutator for the element MetaData- Parameters:
- elementMetaData- The elementMetaData to set.
 
 - 
newElementMetaDatapublic ElementMetaData newElementMetaData() Method to create a new element metadata, set it, and return it.- Returns:
- The element metadata
 
 - 
setKeyMetaDatapublic final void setKeyMetaData(KeyMetaData keyMetaData) Mutator for the key MetaData- Parameters:
- keyMetaData- The keyMetaData to set.
 
 - 
newKeyMetaDatapublic KeyMetaData newKeyMetaData() Method to create a new key metadata, set it, and return it.- Returns:
- The key metadata
 
 - 
setValueMetaDatapublic final void setValueMetaData(ValueMetaData valueMetaData) Mutator for the value MetaData- Parameters:
- valueMetaData- The valueMetaData to set.
 
 - 
newValueMetaDatapublic ValueMetaData newValueMetaData() Method to create a new value metadata, set it, and return it.- Returns:
- The value metadata
 
 - 
setOrderMetaDatapublic final void setOrderMetaData(OrderMetaData orderMetaData) Mutator for the order MetaData- Parameters:
- orderMetaData- The orderMetaData to set.
 
 - 
newOrderMetaDatapublic OrderMetaData newOrderMetaData() Method to create a new order metadata, set it, and return it.- Returns:
- The order metadata
 
 - 
setEmbeddedMetaDatapublic final void setEmbeddedMetaData(EmbeddedMetaData embeddedMetaData) Mutator for the embedded MetaData- Parameters:
- embeddedMetaData- The embeddedMetaData to set.
 
 - 
newEmbeddedMetaDatapublic EmbeddedMetaData newEmbeddedMetaData() Method to create a new embedded metadata, set it, and return it.- Returns:
- The embedded metadata
 
 - 
setForeignKeyMetaDatapublic final void setForeignKeyMetaData(ForeignKeyMetaData foreignKeyMetaData) Mutator for the foreignKey MetaData- Parameters:
- foreignKeyMetaData- The foreignKeyMetaData to set.
 
 - 
newForeignKeyMetaDatapublic ForeignKeyMetaData newForeignKeyMetaData() Method to create a new FK metadata, set it, and return it.- Returns:
- The FK metadata
 
 - 
setIndexMetaDatapublic final void setIndexMetaData(IndexMetaData indexMetaData) Mutator for the index MetaData- Parameters:
- indexMetaData- The indexMetaData to set.
 
 - 
newIndexMetaDatapublic IndexMetaData newIndexMetaData() Method to create a new index metadata, set it, and return it.- Returns:
- The index metadata
 
 - 
setUniqueMetaDatapublic final void setUniqueMetaData(UniqueMetaData uniqueMetaData) Mutator for the unique MetaData- Parameters:
- uniqueMetaData- The uniqueMetaData to set.
 
 - 
newUniqueMetaDatapublic UniqueMetaData newUniqueMetaData() Method to create a new unique metadata, set it, and return it.- Returns:
- The unique metadata
 
 - 
setJoinMetaDatapublic final void setJoinMetaData(JoinMetaData joinMetaData) Mutator for the join MetaData- Parameters:
- joinMetaData- The joinMetaData to set.
 
 - 
newJoinMetaDatapublic JoinMetaData newJoinMetaData() Method to create a new join metadata, set it, and return it.- Returns:
- The join metadata
 
 - 
setRelationprotected void setRelation(ClassLoaderResolver clr) Convenience method that sets up the relation type of this field, and the reference to any related field when it is bidirectional. If the relation is bidirectional then will also set the other side of the relation (to relate to this side). Any member that refers to a PERSISTENT INTERFACE will have relation type as NONE. This should ultimately be changed to reflect the real relation, and relationMemberMetaData should also be set accordingly.- Parameters:
- clr- ClassLoader resolver
- Throws:
- NucleusUserException- If mapped-by doesnt exist at other side
 
 - 
getRelationTypepublic RelationType getRelationType(ClassLoaderResolver clr) Accessor for the relation type for this field.- Parameters:
- clr- ClassLoader resolver
- Returns:
- The relation type.
 
 - 
isPersistentInterfacepublic boolean isPersistentInterface(ClassLoaderResolver clr) Convenience method to return if this member relates to a persistent interface. All members that have a relation will return NONE from getRelationType but can be accessed through here. TODO Merge this with relation methods so we only need the relationType/relatedMemberMetaData.- Parameters:
- clr- ClassLoader resolver
- Returns:
- Whether it is for a persistent interface
 
 - 
isRelationOwnerpublic boolean isRelationOwner(ClassLoaderResolver clr) Convenience method for whether this field is the owner of the relation. If the field has no relation will return true. If the field is in a unidirectional relation will return true. If the field is in a bidirectional relation and has no mapped-by will return true. Otherwise returns false.- Parameters:
- clr- ClassLoader resolver
- Returns:
- Whether it is the owner side of a relation
 
 - 
getRelatedMemberMetaDatapublic AbstractMemberMetaData[] getRelatedMemberMetaData(ClassLoaderResolver clr) Accessor for the FieldMetaData of any related field/property (where this field is part of a bidirectional relation). Allows for 1-1, 1-N, and M-N. If this field is not part of a bidirectional relation (no "mapped-by" at either end) then it returns null.- Parameters:
- clr- the ClassLoaderResolver
- Returns:
- The MetaData for the field/property at the "other end".
 
 - 
getRelatedMemberMetaDataForObjectpublic AbstractMemberMetaData getRelatedMemberMetaDataForObject(ClassLoaderResolver clr, Object thisPC, Object otherPC) Convenience accessor for the MetaData for the field/property at the other side of the bidirectional relation given the objects at this side and the other side. TODO Note that this only applies to 1-1, N-1 fields currently- Parameters:
- clr- ClassLoader Resolver
- thisPC- This object
- otherPC- The related object
- Returns:
- The MetaData for the field in the related object
 
 - 
calcIsSecondClassMutablepublic boolean calcIsSecondClassMutable(MetaDataManager mmgr) Calculate whether this field should be a second class mutable field. Allows override via extension "is-second-class", otherwise uses TypeManager.isSecondClassMutable(). Please note that this data will be cached inAbstractClassMetaData.scoMutableMemberFlags.- Parameters:
- mmgr- MetaData manager
- Returns:
- whether this field should be regarded as a second class mutable field.
 
 - 
isInsertablepublic boolean isInsertable() Convenience method to return if the field/property is insertable.- Returns:
- Whether we are allowed to insert it
 
 - 
isUpdateablepublic boolean isUpdateable() Convenience method to return if the field/property is updateable.- Returns:
- Whether we are allowed to update it
 
 - 
compareTopublic int compareTo(Object o) Comparator method. This allows the ClassMetaData to search for an AbstractMemberMetaData with a particular name.- Specified by:
- compareToin interface- Comparable
- Parameters:
- o- The object to compare against
- Returns:
- The comparison result
 
 
- 
 
-