kodo.jdbc.meta
Class ColumnCollectionFieldMapping
java.lang.Object
|
+--kodo.meta.DelegatingExtensions
|
+--kodo.meta.DelegatingFieldMetaData
|
+--kodo.jdbc.meta.AbstractFieldMapping
|
+--kodo.jdbc.meta.ReferenceFieldMapping
|
+--kodo.jdbc.meta.ContainerFieldMapping
|
+--kodo.jdbc.meta.AbstractCollectionFieldMapping
|
+--kodo.jdbc.meta.ColumnCollectionFieldMapping
- All Implemented Interfaces:
- Commentable, Comparable, Extensions, FieldMapping, FieldMetaData, JDBCTypes, JDOTypes, Mapping
- Direct Known Subclasses:
- CollectionFieldMapping, PCObjectCollectionFieldMapping
- public abstract class ColumnCollectionFieldMapping
- extends AbstractCollectionFieldMapping
Base type for collection mappings that use a single column for their
element value.
Fields inherited from interface kodo.jdbc.meta.JDBCTypes |
TYPE_ASCII_STREAM, TYPE_BINARY_STREAM, TYPE_BLOB, TYPE_BYTES, TYPE_CHAR_STREAM, TYPE_CLOB, TYPE_JDBC_DEFAULT, TYPE_REF, TYPE_SQL_ARRAY, TYPE_SQL_DATE, TYPE_SQL_OBJECT, TYPE_TIME, TYPE_TIMESTAMP |
Fields inherited from interface kodo.meta.JDOTypes |
TYPE_ARRAY, TYPE_BIGDECIMAL, TYPE_BIGINTEGER, TYPE_BOOLEAN, TYPE_BOOLEAN_OBJ, TYPE_BYTE, TYPE_BYTE_OBJ, TYPE_CHAR, TYPE_CHAR_OBJ, TYPE_COLLECTION, TYPE_DATE, TYPE_DOUBLE, TYPE_DOUBLE_OBJ, TYPE_FCO, TYPE_FLOAT, TYPE_FLOAT_OBJ, TYPE_INT, TYPE_INT_OBJ, TYPE_LOCALE, TYPE_LONG, TYPE_LONG_OBJ, TYPE_MAP, TYPE_NUMBER, TYPE_OBJECT, TYPE_PC_OBJECT, TYPE_SHORT, TYPE_SHORT_OBJ, TYPE_STRING |
Fields inherited from interface kodo.jdbc.meta.FieldMapping |
AUTO_INCREMENT, DELETE_ACTION, ELEMENT_DELETE_ACTION, ELEMENT_INDEXED, ELEMENT_SIZE, EXTENSION_KEYS, FIELD_MAP, INDEXED, JDBC_TYPE, KEY_DELETE_ACTION, KEY_INDEXED, KEY_SIZE, REF_DELETE_ACTION, REF_INDEXED, SIZE, SQL_TYPE, VALUE_DELETE_ACTION, VALUE_INDEXED, VALUE_SIZE |
Fields inherited from interface kodo.meta.FieldMetaData |
DEPENDENT, EAGER_FETCH_MODE, ELEMENT_DEPENDENT, ELEMENT_TYPE, EXTERNAL_VALUES, EXTERNALIZER, FACTORY, FETCH_GROUP, INVERSE_LOGICAL, INVERSE_OWNER, KEY_DEPENDENT, KEY_TYPE, LOCK_GROUP, LOCK_GROUP_DEFAULT, LOCK_GROUP_NONE, LRS, MANAGE_NONE, MANAGE_PERSISTENT, MANAGE_TRANSACTIONAL, NULL_DEFAULT, NULL_EXCEPTION, NULL_NONE, NULL_UNSET, SEQUENCE_ASSIGNED, TYPE, VALUE_DEPENDENT, VALUE_TYPE |
Method Summary |
void |
addMappingInfoAttributes(Collection attrs)
Add all mapping attributes names used by this mapping to the given
collection. |
void |
delete(KodoStateManager sm,
RowManager rm)
Delete the row for this object if the reference foreign key exists. |
void |
deleteEmbedded(KodoStateManager sm,
RowManager rm)
Delete values for the mapping. |
void |
fromMappingInfo(MappingInfo info,
boolean adapt)
The default implementation will raise warnings for any mapping
attributes that are declared but not in the list of the valid
attributes for this mapping. |
Column |
getColumn()
Return the column holding the collection data. |
Column[] |
getColumns()
Return the data columns for this mapping. |
protected int |
getDataStoreTypeCode()
Return the type of the value stored in the data store for the element
column. |
protected int |
getJDBCType()
Return the JDBC Types type of the column for this mapping. |
void |
insert(KodoStateManager sm,
RowManager rm)
Set values for the mapping into the proper rows. |
boolean |
map()
Map a new instance of this mapping type. |
void |
nullEmbedded(KodoStateManager sm,
RowManager rm)
Null values for the mapping. |
void |
refSchemaComponents()
Increment the reference count of all used schema components. |
protected void |
selectProjection(Select sel,
JDBCStoreManager store,
JDBCFetchConfiguration fetch,
int eagerMode,
Joins joins)
Implement this method to select the projection of this field. |
void |
setColumn(Column col)
Set the column holding the collection data. |
void |
toMappingInfo(MappingInfo info)
Serialize this mapping to a simple MappingInfo instance
for transfer to XML or some other format. |
void |
update(KodoStateManager sm,
RowManager rm)
Set values for the mapping into the proper rows. |
Methods inherited from class kodo.jdbc.meta.AbstractCollectionFieldMapping |
addExtensionKeys, fromMappingInfo, getOrderColumn, getOrdered, isEagerJoinToMany, load, loadEagerJoin, loadEagerParallel, map, selectEagerJoin, selectEagerParallel, setOrderColumn, setOrdered, supportsSelect, toArray, toCollection |
Methods inherited from class kodo.jdbc.meta.ReferenceFieldMapping |
createRefForeignKey, getJoinedRow, getRefForeignKey, getRefJoins, getRefJoinType, getTable, join, setRefForeignKey, setRefForeignKey, setRefJoinType, wherePrimaryKey, whereRefForeignKey |
Methods inherited from class kodo.jdbc.meta.AbstractFieldMapping |
assertTable, delete, deleteEmbedded, getDataStoreValue, getDBDictionary, getDeclaredElementTypeMapping, getDeclaredElementTypeMetaData, getDeclaredKeyTypeMapping, getDeclaredKeyTypeMetaData, getDeclaredTypeMapping, getDeclaredTypeMetaData, getDeleteAction, getElementDeleteAction, getElementIndexed, getElementSize, getElementTypeMapping, getElementTypeMetaData, getFieldMappingName, getIndexed, getInverseMappings, getInverseMetaDatas, getInverseOwnerMapping, getInverseOwnerMetaData, getJDBCTypeCode, getKeyColumns, getKeyDataStoreValue, getKeyDeleteAction, getKeyIndexed, getKeySize, getKeyTypeMapping, getKeyTypeMetaData, getMappingRepository, getMetaData, getNonVirtualOwner, getOwner, getOwnerMapping, getOwnerTable, getRefDeleteAction, getRefIndexed, getSize, getSQLType, getTypeMapping, getTypeMetaData, insert, invalidateResolve, isAutoIncrement, isCustomDelete, isCustomDeleteEmbedded, isCustomInsert, isCustomNullEmbedded, isCustomUpdate, isDeleteActionDeferred, isElementDeleteActionDeferred, isKeyDeleteActionDeferred, isPCObjectRelation, isRefDeleteActionDeferred, isResolved, joinKey, joinKeyRelation, joinRelation, loadKeyProjection, nullEmbedded, resolve, reverseMap, setAutoIncrement, setDeleteAction, setElementDeleteAction, setElementIndexed, setElementSize, setFieldMappingName, setIndexed, setJDBCTypeCode, setKeyDeleteAction, setKeyIndexed, setKeySize, setNonVirtualOwner, setOwner, setRefDeleteAction, setRefIndexed, setSize, setSQLType, update, usesImplData, usesIntermediate |
Methods inherited from class kodo.meta.DelegatingFieldMetaData |
compareTo, equals, getComments, getComparator, getDeclaredElementType, getDeclaredElementTypeCode, getDeclaredIndex, getDeclaredKeyType, getDeclaredKeyTypeCode, getDeclaredPrimaryKeyIndex, getDeclaredType, getDeclaredTypeCode, getDelegate, getEagerFetchMode, getElementType, getElementTypeCode, getElementTypeName, getExternalizer, getExternalValue, getExternalValues, getFactory, getFetchGroup, getFieldFlag, getFieldValue, getFullName, getIndex, getInnermostDelegate, getInverseLogical, getInverseOwner, getKeyType, getKeyTypeCode, getKeyTypeName, getListingIndex, getLockGroup, getManagement, getName, getNullValue, getPrimaryKeyIndex, getProxyType, getType, getTypeCode, getTypeName, hashCode, isDefaultFetchGroupExplicit, isDependent, isElementDependent, isElementEmbedded, isEmbedded, isExplicit, isExternalized, isInDefaultFetchGroup, isKeyDependent, isKeyEmbedded, isLRS, isPrimaryKey, isSequenceAssigned, isTransient, setComparator, setDeclaredElementType, setDeclaredElementTypeCode, setDeclaredIndex, setDeclaredKeyType, setDeclaredKeyTypeCode, setDeclaredPrimaryKeyIndex, setDeclaredType, setDeclaredTypeCode, setDependent, setEagerFetchMode, setElementDependent, setElementEmbedded, setElementTypeName, setEmbedded, setExplicit, setExternalizer, setExternalValues, setFactory, setFetchGroup, setInDefaultFetchGroup, setIndex, setInverseLogical, setInverseOwner, setKeyDependent, setKeyEmbedded, setKeyTypeName, setListingIndex, setLockGroup, setLRS, setManagement, setName, setNullValue, setPrimaryKey, setProxyType, setSequenceAssigned, setTransient, setTypeName, toString |
Methods inherited from class kodo.meta.DelegatingExtensions |
addExtension, addExtension, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionComments, getExtensionKeys, getExtensionKeys, getExtensionVendors, getIntExtension, getIntExtension, getObjectExtension, getObjectExtension, getStringExtension, getStringExtension, hasExtension, hasExtension, isEmpty, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension |
Methods inherited from interface kodo.meta.FieldMetaData |
getComparator, getDeclaredElementType, getDeclaredElementTypeCode, getDeclaredIndex, getDeclaredKeyType, getDeclaredKeyTypeCode, getDeclaredPrimaryKeyIndex, getDeclaredType, getDeclaredTypeCode, getEagerFetchMode, getElementType, getElementTypeCode, getElementTypeName, getExternalizer, getExternalValue, getExternalValues, getFactory, getFetchGroup, getFieldFlag, getFieldValue, getFullName, getIndex, getInverseLogical, getInverseOwner, getKeyType, getKeyTypeCode, getKeyTypeName, getListingIndex, getLockGroup, getManagement, getName, getNullValue, getPrimaryKeyIndex, getProxyType, getType, getTypeCode, getTypeName, isDefaultFetchGroupExplicit, isDependent, isElementDependent, isElementEmbedded, isEmbedded, isExplicit, isExternalized, isInDefaultFetchGroup, isKeyDependent, isKeyEmbedded, isLRS, isPrimaryKey, isSequenceAssigned, isTransient, setComparator, setDeclaredElementType, setDeclaredElementTypeCode, setDeclaredIndex, setDeclaredKeyType, setDeclaredKeyTypeCode, setDeclaredPrimaryKeyIndex, setDeclaredType, setDeclaredTypeCode, setDependent, setEagerFetchMode, setElementDependent, setElementEmbedded, setElementTypeName, setEmbedded, setExplicit, setExternalizer, setExternalValues, setFactory, setFetchGroup, setInDefaultFetchGroup, setIndex, setInverseLogical, setInverseOwner, setKeyDependent, setKeyEmbedded, setKeyTypeName, setListingIndex, setLockGroup, setLRS, setManagement, setName, setNullValue, setPrimaryKey, setProxyType, setSequenceAssigned, setTransient, setTypeName |
Methods inherited from interface kodo.meta.Extensions |
addExtension, addExtension, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionComments, getExtensionKeys, getExtensionKeys, getExtensionVendors, getIntExtension, getIntExtension, getObjectExtension, getObjectExtension, getStringExtension, getStringExtension, hasExtension, hasExtension, isEmpty, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension |
ColumnCollectionFieldMapping
public ColumnCollectionFieldMapping(FieldMetaData meta)
- Constructor. Supply underlying metadata.
getColumn
public Column getColumn()
- Return the column holding the collection data.
setColumn
public void setColumn(Column col)
- Set the column holding the collection data.
getDataStoreTypeCode
protected int getDataStoreTypeCode()
- Return the type of the value stored in the data store for the element
column. Defaults to
FieldMetaData.getElementTypeCode()
.
getJDBCType
protected int getJDBCType()
- Return the JDBC
Types
type of the column for this mapping.
Uses the preferred type for the getDataStoreTypeCode()
by
default.
toMappingInfo
public void toMappingInfo(MappingInfo info)
- Description copied from interface:
Mapping
- Serialize this mapping to a simple
MappingInfo
instance
for transfer to XML or some other format.
- Overrides:
toMappingInfo
in class AbstractCollectionFieldMapping
fromMappingInfo
public void fromMappingInfo(MappingInfo info,
boolean adapt)
- Description copied from class:
AbstractFieldMapping
- The default implementation will raise warnings for any mapping
attributes that are declared but not in the list of the valid
attributes for this mapping.
- Overrides:
fromMappingInfo
in class ContainerFieldMapping
- Following copied from class:
kodo.jdbc.meta.AbstractFieldMapping
- See Also:
AbstractFieldMapping.addMappingInfoAttributes(java.util.Collection)
addMappingInfoAttributes
public void addMappingInfoAttributes(Collection attrs)
- Description copied from interface:
Mapping
- Add all mapping attributes names used by this mapping to the given
collection. For foreign key attributes, add the prefix.
- Overrides:
addMappingInfoAttributes
in class AbstractCollectionFieldMapping
map
public boolean map()
- Description copied from interface:
Mapping
- Map a new instance of this mapping type. If the underlying
metadata cannot be mapped using this type, return false.
- Overrides:
map
in class ContainerFieldMapping
refSchemaComponents
public void refSchemaComponents()
- Description copied from interface:
Mapping
- Increment the reference count of all used schema components.
- Overrides:
refSchemaComponents
in class AbstractCollectionFieldMapping
getColumns
public Column[] getColumns()
- Description copied from interface:
FieldMapping
- Return the data columns for this mapping. This corresponds to the
field-order foreign key columns in relations.
selectProjection
protected void selectProjection(Select sel,
JDBCStoreManager store,
JDBCFetchConfiguration fetch,
int eagerMode,
Joins joins)
- Description copied from class:
AbstractCollectionFieldMapping
- Implement this method to select the projection of this field.
Elements of the result will be loaded with
FieldMapping.loadProjection(kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, kodo.jdbc.sql.Result, kodo.jdbc.sql.Joins)
.
- Overrides:
selectProjection
in class AbstractCollectionFieldMapping
insert
public void insert(KodoStateManager sm,
RowManager rm)
throws SQLException
- Description copied from interface:
Mapping
- Set values for the mapping into the proper rows. For class mappings,
this method will be called only after the corresponding method has
been called for all fields of this mapping.
- Overrides:
insert
in class ContainerFieldMapping
update
public void update(KodoStateManager sm,
RowManager rm)
throws SQLException
- Description copied from interface:
Mapping
- Set values for the mapping into the proper rows.
- Overrides:
update
in class ContainerFieldMapping
- Following copied from interface:
kodo.jdbc.meta.Mapping
- See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)
delete
public void delete(KodoStateManager sm,
RowManager rm)
throws SQLException
- Description copied from class:
ReferenceFieldMapping
- Delete the row for this object if the reference foreign key exists.
- Overrides:
delete
in class ContainerFieldMapping
- Following copied from interface:
kodo.jdbc.meta.Mapping
- See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)
nullEmbedded
public void nullEmbedded(KodoStateManager sm,
RowManager rm)
throws SQLException
- Description copied from interface:
FieldMapping
- Null values for the mapping. This method is used when embedded values
are nulled or replaced. The given state manager will be the owner
of the object whose fields are now being nulled.
- Overrides:
nullEmbedded
in class ContainerFieldMapping
- Following copied from interface:
kodo.jdbc.meta.FieldMapping
- See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)
deleteEmbedded
public void deleteEmbedded(KodoStateManager sm,
RowManager rm)
throws SQLException
- Description copied from interface:
FieldMapping
- Delete values for the mapping. This method is used when embedded
values are deleted. The given state manager will be the owner
of the object that is being deleted.
- Overrides:
deleteEmbedded
in class AbstractFieldMapping
- Following copied from interface:
kodo.jdbc.meta.FieldMapping
- See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)
Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.