SolarMetric Kodo JDO 3.0.3 generated on February 20 2004

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.


Inner classes inherited from class kodo.jdbc.meta.AbstractCollectionFieldMapping
AbstractCollectionFieldMapping.LRSProxyCollection
 
Fields inherited from class kodo.jdbc.meta.AbstractCollectionFieldMapping
ORDERED
 
Fields inherited from class kodo.jdbc.meta.ContainerFieldMapping
CONTAINER_META
 
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
 
Constructor Summary
ColumnCollectionFieldMapping(FieldMetaData meta)
          Constructor.
 
Method Summary
 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)
          Deserialize this mapping from a simple MappingInfo instance parsed from XML or some other format.
 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.
protected  Result getResult(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch)
          Implement this method to return a result containing this field.
 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.
 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
fromMappingInfo, getOrderColumn, getOrdered, load, loadBatchedResult, map, setOrderColumn, setOrdered, toArray, toCollection
 
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 class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface kodo.jdbc.meta.Mapping
getMappingType
 
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
 

Constructor Detail

ColumnCollectionFieldMapping

public ColumnCollectionFieldMapping(FieldMetaData meta)
Constructor. Supply underlying metadata.
Method Detail

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)

SolarMetric Kodo JDO 3.0.3 generated on February 20 2004

Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.