kodo.jdbc.meta
Class ColumnCollectionFieldMapping
java.lang.Object
|
+--kodo.meta.DelegatingExtensions
|
+--kodo.meta.DelegatingFieldMetaData
|
+--kodo.jdbc.meta.FieldMapping
|
+--kodo.jdbc.meta.ReferenceFieldMapping
|
+--kodo.jdbc.meta.ContainerFieldMapping
|
+--kodo.jdbc.meta.AbstractCollectionFieldMapping
|
+--kodo.jdbc.meta.ColumnCollectionFieldMapping
- All Implemented Interfaces:
- Comparable, Extensions, 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 class kodo.jdbc.meta.FieldMapping |
AUTO_INCREMENT, DELETE_ACTION, ELEMENT_DELETE_ACTION, ELEMENT_INDEXED, ELEMENT_SIZE, FIELD_MAP, INDEXED, KEY_DELETE_ACTION, KEY_INDEXED, KEY_SIZE, REF_DELETE_ACTION, REF_INDEXED, SIZE, VALUE_DELETE_ACTION, VALUE_INDEXED, VALUE_SIZE |
| 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.meta.FieldMetaData |
DEPENDENT, ELEMENT_DEPENDENT, ELEMENT_TYPE, EXTERNALIZER, FACTORY, FETCH_GROUP, INVERSE_OWNER, KEY_DEPENDENT, KEY_TYPE, LRS, MANAGE_NONE, MANAGE_PERSISTENT, MANAGE_TRANSACTIONAL, NULL_DEFAULT, NULL_EXCEPTION, NULL_NONE, TYPE, VALUE_DEPENDENT, VALUE_TYPE |
| Methods inherited from class kodo.jdbc.meta.ContainerFieldMapping |
appendIsEmpty, appendIsNotNull, appendIsNull, containsSelectTables, getContainerMeta, getMetaDataColumn, join, load, select, setContainerMeta, setMetaDataColumn, supportsTwoPartSelect |
| Methods inherited from class kodo.jdbc.meta.ReferenceFieldMapping |
createRefForeignKey, getJoinedRow, getRefForeignKey, getRefJoinType, getSelectJoins, getTable, join, setRefForeignKey, setRefForeignKey, setRefJoinType, wherePrimaryKey, whereRefForeignKey |
| Methods inherited from class kodo.jdbc.meta.FieldMapping |
delete, deleteEmbedded, getDataStoreValue, getDBDictionary, getDeclaredElementTypeMapping, getDeclaredElementTypeMetaData, getDeclaredKeyTypeMapping, getDeclaredKeyTypeMetaData, getDeclaredTypeMapping, getDeclaredTypeMetaData, getDefaults, getDeleteAction, getElementDeleteAction, getElementIndexed, getElementSize, getElementTypeMapping, getElementTypeMetaData, getFieldMappingName, getIndexed, getInverseOwnerMapping, getInverseOwnerMetaData, getKeyColumns, getKeyDataStoreValue, getKeyDeleteAction, getKeyIndexed, getKeySize, getKeyTypeMapping, getKeyTypeMetaData, getMappingRepository, getOwner, getOwnerMapping, getRefDeleteAction, getRefIndexed, getSize, getTypeMapping, getTypeMetaData, insert, invalidateResolve, isAutoIncrement, isCustomDelete, isCustomDeleteEmbedded, isCustomInsert, isCustomNullEmbedded, isCustomUpdate, isDeleteActionDeferred, isElementDeleteActionDeferred, isKeyDeleteActionDeferred, isRefDeleteActionDeferred, isResolved, joinKey, joinKeyRelation, joinRelation, loadKeyProjection, loadProjection, newInstance, nullEmbedded, resolve, reverseMap, selectEager, setAutoIncrement, setDeleteAction, setElementDeleteAction, setElementIndexed, setElementSize, setFieldMappingName, setIndexed, setKeyDeleteAction, setKeyIndexed, setKeySize, setOwner, setRefDeleteAction, setRefIndexed, setSize, update |
| Methods inherited from class kodo.meta.DelegatingFieldMetaData |
compareTo, equals, getComparator, getDeclaredElementType, getDeclaredElementTypeCode, getDeclaredIndex, getDeclaredKeyType, getDeclaredKeyTypeCode, getDeclaredType, getDeclaredTypeCode, getDelegate, getElementType, getElementTypeCode, getElementTypeName, getExternalizer, getExternalizerMethod, getExternalValue, getFactory, getFactoryMethod, getFetchGroup, getFieldFlag, getFieldValue, getFullName, getIndex, getInnermostDelegate, getInverseOwner, getKeyType, getKeyTypeCode, getKeyTypeName, getManagement, getName, getNullValue, getPrimaryKeyIndex, getProxyType, getType, getTypeCode, getTypeName, hashCode, isDefaultFetchGroupExplicit, isDependent, isElementDependent, isElementEmbedded, isEmbedded, isExplicit, isInDefaultFetchGroup, isKeyDependent, isKeyEmbedded, isLRS, isPrimaryKey, isTransient, setComparator, setDeclaredElementType, setDeclaredElementTypeCode, setDeclaredIndex, setDeclaredKeyType, setDeclaredKeyTypeCode, setDeclaredType, setDeclaredTypeCode, setDependent, setElementDependent, setElementEmbedded, setElementTypeName, setEmbedded, setExplicit, setExternalizer, setFactory, setFetchGroup, setInDefaultFetchGroup, setIndex, setInverseOwner, setKeyDependent, setKeyEmbedded, setKeyTypeName, setLRS, setManagement, setName, setNullValue, setPrimaryKey, setPrimaryKeyIndex, setProxyType, setTransient, setTypeName, toString |
| Methods inherited from class kodo.meta.DelegatingExtensions |
addExtension, addExtension, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionKeys, getExtensionKeys, getExtensionVendors, getIntExtension, getIntExtension, getObjectExtension, getObjectExtension, getStringExtension, getStringExtension, hasExtension, hasExtension, isEmpty, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension |
| Methods inherited from interface kodo.meta.Extensions |
addExtension, addExtension, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, 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 interface:
Mapping
- Deserialize this mapping from a simple
MappingInfo
instance parsed from XML or some other format. If the info is
incompatible and adapt is true, try to adapt to the new
info. This method must validate
the given mapping information using the SchemaGroup.findTable(kodo.jdbc.schema.Table)
method to find any needed tables, the Table.getColumn(java.lang.String) method
to retrieve columns from those tables, and the
Column.isCompatible(int, int) method to check all column types.
This validation is important, as some schema groups use these methods
to build themselves up dynamically rather than reading schema
information from the database.
- Overrides:
fromMappingInfo in class ContainerFieldMapping
- Following copied from interface:
kodo.jdbc.meta.Mapping
- Throws:
MappingInfoNotFoundException - if the given info is invalid
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 class:
FieldMapping
- Return the data columns for this mapping. This corresponds to the
field-order foreign key columns in relations.
- Overrides:
getColumns in class FieldMapping
getResult
protected Result getResult(KodoStateManager sm,
JDBCStoreManager store,
JDBCFetchConfiguration fetch)
throws SQLException
- Description copied from class:
AbstractCollectionFieldMapping
- Implement this method to return a result containing this field.
Elements of the result will be loaded with
FieldMapping.loadProjection(kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, kodo.jdbc.sql.Result). If this mapping is for large
result sets, pass the fetch configuration on to the store manager when
executing the select for the result. Otherwise, do not pass along
the fetch configuration so a non-lazy result is returned.
- Overrides:
getResult 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 class:
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 class:
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 class:
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 FieldMapping
- Following copied from class:
kodo.jdbc.meta.FieldMapping
- See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)
Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.