SolarMetric Kodo JDO 3.0.3 generated on February 20 2004

kodo.jdbc.meta
Class PCObjectOneToOneFieldMapping

java.lang.Object
  |
  +--kodo.meta.DelegatingExtensions
        |
        +--kodo.meta.DelegatingFieldMetaData
              |
              +--kodo.jdbc.meta.FieldMapping
                    |
                    +--kodo.jdbc.meta.ReferenceFieldMapping
                          |
                          +--kodo.jdbc.meta.ColumnFieldMapping
                                |
                                +--kodo.jdbc.meta.PCObjectOneToOneFieldMapping
All Implemented Interfaces:
Comparable, Extensions, FieldMetaData, JDBCTypes, JDOTypes, Mapping

public class PCObjectOneToOneFieldMapping
extends ColumnFieldMapping

Maps a 1-1 relation to an unknown persistent object. Since the concrete class is unknown, the mapping stores the stringified object id of the related instance.


Field Summary
static String TYPE
           
 
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, VALUE_DEPENDENT, VALUE_TYPE
 
Constructor Summary
PCObjectOneToOneFieldMapping(FieldMetaData meta)
          Constructor.
 
Method Summary
 void fromMappingInfo(MappingInfo info, boolean adapt)
          Deserialize this mapping from a simple MappingInfo instance parsed from XML or some other format.
protected  int getDataStoreTypeCode()
          Return the type code of the data type that will be stored in the data column.
 Object getDataStoreValue(Object val)
          Translate the given external field value to its datastore equivalent.
 String getMappingType()
          Return the abbreviated name of this mapping, or the full class name if it is a custom mapping.
 void load(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch)
          Load secondary data using a connection from the store manager.
 void load(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res)
          Load virtual row data; the given result is not guaranteed to contain data for this field, so the field mapping should make sure the result contains its needed column data before loading.
 Object loadProjection(JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res)
          Load this field value using the given result.
 boolean map()
          Map a new instance of this mapping type.
 int select(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, int eagerMode)
          Select the virtual row columns of this mapping.
 boolean supportsTwoPartSelect()
          Return true if this mapping can benefit from a two-part select, in which some data is selected in select(kodo.jdbc.sql.Select, kodo.runtime.KodoStateManager, kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, int), and other data is loaded separately.
protected  void update(KodoStateManager sm, Row row)
          Update this column with the current value into the given row.
 
Methods inherited from class kodo.jdbc.meta.ColumnFieldMapping
appendIsNotNull, appendIsNull, checkNull, deleteEmbedded, getColumn, getColumns, getJDBCType, insert, join, nullEmbedded, refSchemaComponents, setColumn, toMappingInfo, update
 
Methods inherited from class kodo.jdbc.meta.ReferenceFieldMapping
createRefForeignKey, delete, fromMappingInfo, getJoinedRow, getRefForeignKey, getRefJoinType, getSelectJoins, getTable, join, setRefForeignKey, setRefForeignKey, setRefJoinType, wherePrimaryKey, whereRefForeignKey
 
Methods inherited from class kodo.jdbc.meta.FieldMapping
appendIsEmpty, containsSelectTables, delete, deleteEmbedded, 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, 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.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
 

Field Detail

TYPE

public static final String TYPE
Constructor Detail

PCObjectOneToOneFieldMapping

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

getDataStoreTypeCode

protected int getDataStoreTypeCode()
Description copied from class: ColumnFieldMapping
Return the type code of the data type that will be stored in the data column. Returns this.getTypeCode () by default.
Overrides:
getDataStoreTypeCode in class ColumnFieldMapping

getDataStoreValue

public Object getDataStoreValue(Object val)
Description copied from class: FieldMapping
Translate the given external field value to its datastore equivalent. If the mapping occupies multiple columns in the datastore, return an object array, else return a single object. Simply returns the given object by default.
Overrides:
getDataStoreValue in class FieldMapping

getMappingType

public String getMappingType()
Description copied from interface: Mapping
Return the abbreviated name of this mapping, or the full class name if it is a custom mapping.

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 ColumnFieldMapping
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 ColumnFieldMapping

update

protected void update(KodoStateManager sm,
                      Row row)
               throws SQLException
Description copied from class: ColumnFieldMapping
Update this column with the current value into the given row.
Overrides:
update in class ColumnFieldMapping

supportsTwoPartSelect

public boolean supportsTwoPartSelect()
Description copied from class: FieldMapping
Return true if this mapping can benefit from a two-part select, in which some data is selected in FieldMapping.select(kodo.jdbc.sql.Select, kodo.runtime.KodoStateManager, kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, int), and other data is loaded separately. Returns false by default.
Overrides:
supportsTwoPartSelect in class FieldMapping

select

public int select(Select sel,
                  KodoStateManager sm,
                  JDBCStoreManager store,
                  JDBCFetchConfiguration fetch,
                  int eagerMode)
Description copied from class: FieldMapping
Select the virtual row columns of this mapping.
Overrides:
select in class ColumnFieldMapping
Following copied from class: kodo.jdbc.meta.FieldMapping
Parameters:
sel - the select to add to
sm - the instance being loaded, or null if not initialized yet or selecting for multiple instances
store - the current store manager
fetch - fetch configuration
eagerMode - the eager fetch mode to use; this may be more restrictive than the mode of the fetch configuration
Returns:
> 0 if this mapping requires the selected data (if any), 0 if it selected data but does not require it, or < 0 if no data was selected

load

public void load(KodoStateManager sm,
                 JDBCStoreManager store,
                 JDBCFetchConfiguration fetch,
                 Result res)
          throws SQLException
Description copied from class: FieldMapping
Load virtual row data; the given result is not guaranteed to contain data for this field, so the field mapping should make sure the result contains its needed column data before loading.
Overrides:
load in class FieldMapping

load

public void load(KodoStateManager sm,
                 JDBCStoreManager store,
                 JDBCFetchConfiguration fetch)
          throws SQLException
Description copied from class: FieldMapping
Load secondary data using a connection from the store manager.
Overrides:
load in class ColumnFieldMapping

loadProjection

public Object loadProjection(JDBCStoreManager store,
                             JDBCFetchConfiguration fetch,
                             Result res)
                      throws SQLException
Description copied from class: FieldMapping
Load this field value using the given result. This method will only be called if this field does not represent a FCO relation. The result will contain the columns from FieldMapping.getColumns().
Overrides:
loadProjection in class FieldMapping

SolarMetric Kodo JDO 3.0.3 generated on February 20 2004

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