org.jpox.metadata
Class FieldMetaData
java.lang.Object
org.jpox.metadata.MetaData
org.jpox.metadata.ExtendableMetaData
org.jpox.metadata.AbstractPropertyMetaData
org.jpox.metadata.FieldMetaData
- All Implemented Interfaces:
- ColumnMetaDataContainer, java.lang.Comparable, java.io.Serializable
- public class FieldMetaData
- extends AbstractPropertyMetaData
Representation of the Meta-Data for a field of a class.
Lifecycle state
An object of this type has 2 lifecycle states. The first is the raw
constructed object which represents pure MetaData (maybe from a MetaData
file). The second is a "populated" object which represents MetaData for a
Field of a class with the metadata aligned to be appropriate for that Field.
Containers
Each field can represent a container. The container can be an array, a
Collection or a Map. The field type must be of the correct type to represent
these.
JDO Management
Each field can be managed by JDO or not. The class provides a method for
identifying if a field is managed by JDO (isJdoField()). If a field
is managed by JDO, it will have a field "id" (within its class). In a class
the field "id" will start at 0 (for the first field, in alphabetical order).
MetaData Element
The MetaData element represented here is as follows
<!ELEMENT field (extension*, (collection|map|array|(column*))?, join?, element?,
key?, value?, fetch-group*, order?, embedded?, index?, unique?, foreign-key?,
delete-action?, extension*)?>
<!ATTLIST field name CDATA #REQUIRED>
<!ATTLIST field persistence-modifier (persistent|transactional|none)
#IMPLIED>
<!ATTLIST field table CDATA #IMPLIED>
<!ATTLIST field null-value (exception|default|none) 'none'>
<!ATTLIST field default-fetch-group (true|false) #IMPLIED>
<!ATTLIST field embedded (true|false) #IMPLIED>
<!ATTLIST field serialized (true|false) #IMPLIED>
<!ATTLIST field dependent (true|false) #IMPLIED>
<!ATTLIST field indexed (true|false|unique) #IMPLIED>
<!ATTLIST field unique (true|false) #IMPLIED>
<!ATTLIST field foreign-key CDATA #IMPLIED>
<!ATTLIST field load-fetch-group CDATA #IMPLIED>
<!ATTLIST field recursion-depth CDATA #IMPLIED>
<!ATTLIST field primary-key (true|false) 'false'>
<!ATTLIST field mapped-by CDATA #IMPLIED>
<!ATTLIST field value-strategy CDATA #IMPLIED>
<!ATTLIST field delete-action (restrict|cascade|null|default|none) #IMPLIED>
<!ATTLIST field sequence CDATA #IMPLIED>
<!ATTLIST field field-type CDATA #IMPLIED>
- Since:
- 1.1
- Version:
- $Revision: 1.72 $
- See Also:
- Serialized Form
Fields inherited from class org.jpox.metadata.AbstractPropertyMetaData |
className, column, columnMetaData, columns, container, DEFAULT_RECURSION_DEPTH, defaultFetchGroup, dependent, elementMetaData, embedded, embeddedMetaData, fieldId, fieldType, foreignKeyMetaData, indexed, indexMetaData, joinMetaData, keyMetaData, loadFetchGroup, mappedBy, modifiers, name, nullValue, orderMetaData, persistenceModifier, primaryKey, recursionDepth, relatedFieldMetaData, relationType, sequence, serialized, table, type, UNDEFINED_RECURSION_DEPTH, uniqueConstraint, uniqueMetaData, valueMetaData, valueStrategy |
Constructor Summary |
FieldMetaData(MetaData parent,
AbstractPropertyMetaData fmd)
Convenience constructor to copy the specification from the passed field. |
FieldMetaData(MetaData parent,
java.lang.String name)
Convenience constructor taking defaults |
FieldMetaData(MetaData parent,
java.lang.String name,
java.lang.String pk,
java.lang.String modifier,
java.lang.String defaultFetchGroup,
java.lang.String nullValue,
java.lang.String embedded,
java.lang.String serialized,
java.lang.String dependent,
java.lang.String mappedBy,
java.lang.String column,
java.lang.String table,
java.lang.String deleteAction,
java.lang.String indexed,
java.lang.String unique,
java.lang.String recursionDepth,
java.lang.String loadFetchGroup,
java.lang.String valueStrategy,
java.lang.String foreignKey,
java.lang.String sequence,
java.lang.String fieldType)
Constructor. |
Method Summary |
int |
compareTo(java.lang.Object o)
Comparator method. |
java.lang.String |
toString(java.lang.String prefix,
java.lang.String indent)
Returns a string representation of the object using a prefix
This can be used as part of a facility to output a MetaData file. |
Methods inherited from class org.jpox.metadata.AbstractPropertyMetaData |
addColumn, fieldBelongsToClass, getAbsoluteFieldNumber, getAbstractClassMetaData, getArray, getClassName, getClassName, getCollection, getColumn, getColumnMetaData, getContainer, getElementMetaData, getEmbeddedMetaData, getFieldId, getFieldType, getForeignKeyMetaData, getFullFieldName, getIndexMetaData, getJoinMetaData, getKeyMetaData, getLoadFetchGroup, getMap, getMappedBy, getMetaDataManager, getName, getNullValue, getOrderMetaData, getPersistenceModifier, getRecursionDepth, getRelatedFieldMetaData, getRelationType, getSequence, getTable, getType, getTypeName, getUniqueMetaData, getValueMetaData, getValueStrategy, hasArray, hasCollection, hasContainer, hasMap, initialise, isDefaultFetchGroup, isDependent, isEmbedded, isFieldArrayTypePersistenceCapable, isFieldTypePersistenceCapable, isFinal, isJdoField, isPrimaryKey, isSerialized, isStatic, isTransient, mergeORMData, populate, setContainer, setDependent, setElementMetaData, setEmbeddedMetaData, setForeignKeyMetaData, setIndexMetaData, setJoinMetaData, setKeyMetaData, setMappedBy, setOrderMetaData, setRelation, setSequence, setTable, setUniqueMetaData, setValueMetaData, setValueStrategy, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
FieldMetaData
public FieldMetaData(MetaData parent,
java.lang.String name)
- Convenience constructor taking defaults
- Parameters:
parent
- Parent componentname
- Name of the field
FieldMetaData
public FieldMetaData(MetaData parent,
AbstractPropertyMetaData fmd)
- Convenience constructor to copy the specification from the passed field.
This is used when we have an overriding field and we make a copy of the baseline
field as a starting point.
- Parameters:
parent
- The parentfmd
- The field to copy
FieldMetaData
public FieldMetaData(MetaData parent,
java.lang.String name,
java.lang.String pk,
java.lang.String modifier,
java.lang.String defaultFetchGroup,
java.lang.String nullValue,
java.lang.String embedded,
java.lang.String serialized,
java.lang.String dependent,
java.lang.String mappedBy,
java.lang.String column,
java.lang.String table,
java.lang.String deleteAction,
java.lang.String indexed,
java.lang.String unique,
java.lang.String recursionDepth,
java.lang.String loadFetchGroup,
java.lang.String valueStrategy,
java.lang.String foreignKey,
java.lang.String sequence,
java.lang.String fieldType)
- Constructor. Saves the MetaData with the specified values. The object is
then in an "unpopulated" state. It can become "populated" by calling the
populate() method which compares it against the field it is to
represent and updates any unset attributes and flags up any errors.
- Parameters:
parent
- parent MetaData instancename
- field namepk
- attribute primary-key valuemodifier
- attribute persistence-modifier valuedefaultFetchGroup
- attribute default-fetch-group valuenullValue
- attribute null-value valueembedded
- attribute embedded valueserialized
- attribute serialized valuedependent
- attribute dependent valuemappedBy
- attribute mapped-by valuecolumn
- attribute column valuetable
- attribute table valuedeleteAction
- attribute delete-action valueindexed
- Whether this is indexedunique
- Apply a unique constraintrecursionDepth
- The depth of fetch to use when recursingloadFetchGroup
- Name of the additional fetch group to use when loadingvalueStrategy
- attribute value-strategy valueforeignKey
- The foreign key namesequence
- attribute sequence valuefieldType
- Implementation type(s) for field.
toString
public java.lang.String toString(java.lang.String prefix,
java.lang.String indent)
- Returns a string representation of the object using a prefix
This can be used as part of a facility to output a MetaData file.
- Overrides:
toString
in class AbstractPropertyMetaData
- Parameters:
prefix
- prefix stringindent
- indent string
- Returns:
- a string representation of the object.
compareTo
public int compareTo(java.lang.Object o)
- Comparator method. This allows the ClassMetaData to search for a
FieldMetaData with a particular name.
- Specified by:
compareTo
in interface java.lang.Comparable
- Overrides:
compareTo
in class AbstractPropertyMetaData
- Parameters:
o
- The object to compare against
- Returns:
- The comparison result
Copyright © -2007 . All Rights Reserved.