SolarMetric Kodo JDO 3.3.5 generated on August 31 2005

kodo.jdbc.meta
Class OneToOneFieldMapping

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

public class OneToOneFieldMapping
extends ReferenceFieldMapping

Maps a relation to another object.


Field Summary
static int INVERSE_COLUMNS
           
static int INVERSE_FIELD
           
static int INVERSE_NONE
           
static String TYPE
           
 
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, VALUE_DEPENDENT, VALUE_TYPE
 
Constructor Summary
OneToOneFieldMapping(FieldMetaData meta)
          Constructor.
 
Method Summary
 void addMappingInfoAttributes(Collection attrs)
          Add all mapping attributes names used by this mapping to the given collection.
 void appendIsNotNull(SQLBuffer sql, Select sel, Joins joins)
          Append a where clause to the given statement checking if this value is not null.
 void appendIsNull(SQLBuffer sql, Select sel, Joins joins)
          Append a where clause to the given statement checking if this value is null.
 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.
 boolean getClassCriteria()
          Whether to use the exepected type of the related object as a criteria when selecting it.
 Column[] getColumns()
          Return the data columns for this mapping.
 Object getDataStoreValue(Object val)
          Translate the given external field value to its datastore equivalent.
 ForeignKey getForeignKey()
          Return the foreign key to the related table.
 int getInverseType()
          Return the type of inverse this 1-1 has.
 String getMappingType()
          Return the abbreviated name of this mapping, or the full class name if it is a custom mapping.
 void insert(KodoStateManager sm, RowManager rm)
          Set values for the mapping into the proper rows.
 Joins join(Joins joins)
          Join this value to the class table.
 Joins joinRelation(Joins joins)
          Join this value's table to the table for the related first class object type, if any.
 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.
 void loadEagerJoin(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res)
          Load the joined eager result.
 Object loadKeyProjection(JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res, Joins joins)
          Load this field's key value using the given result.
 Object loadProjection(JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res, Joins joins)
          Load this field value using the given result.
 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 reverseMap(SchemaGroup schema, ReverseMappingTool tool)
          Create mappings from the schema, using the given tool.
 int select(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, int eagerMode)
          Select the virtual row columns of this mapping.
 int selectEagerJoin(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, int eagerMode)
          Use eager joins to select related objects.
 void setClassCriteria(boolean clsCriteria)
          Whether to use the exepected type of the related object as a criteria when selecting it.
 void setForeignKey(ForeignKey fk)
          Set the foreign key to the other table.
 boolean supportsSelect(Select sel, int type, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch)
          Return true if this mapping can perform the given select type.
 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.
 boolean usesIntermediate()
          Override to return true (i.e.
 
Methods inherited from class kodo.jdbc.meta.ReferenceFieldMapping
createRefForeignKey, fromMappingInfo, getJoinedRow, getRefForeignKey, getRefJoins, getRefJoinType, getTable, join, setRefForeignKey, setRefForeignKey, setRefJoinType, wherePrimaryKey, whereRefForeignKey
 
Methods inherited from class kodo.jdbc.meta.AbstractFieldMapping
addExtensionKeys, appendIsEmpty, assertTable, delete, deleteEmbedded, 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, isEagerJoinToMany, isElementDeleteActionDeferred, isKeyDeleteActionDeferred, isPCObjectRelation, isRefDeleteActionDeferred, isResolved, joinKey, joinKeyRelation, loadEagerParallel, nullEmbedded, resolve, selectEagerParallel, setAutoIncrement, setDeleteAction, setElementDeleteAction, setElementIndexed, setElementSize, setFieldMappingName, setIndexed, setJDBCTypeCode, setKeyDeleteAction, setKeyIndexed, setKeySize, setNonVirtualOwner, setOwner, setRefDeleteAction, setRefIndexed, setSize, setSQLType, update, usesImplData
 
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 class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
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
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface kodo.meta.Commentable
getComments
 

Field Detail

TYPE

public static final String TYPE

INVERSE_NONE

public static final int INVERSE_NONE

INVERSE_FIELD

public static final int INVERSE_FIELD

INVERSE_COLUMNS

public static final int INVERSE_COLUMNS
Constructor Detail

OneToOneFieldMapping

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

getForeignKey

public ForeignKey getForeignKey()
Return the foreign key to the related table.

setForeignKey

public void setForeignKey(ForeignKey fk)
Set the foreign key to the other table.

getInverseType

public int getInverseType()
Return the type of inverse this 1-1 has.

getClassCriteria

public boolean getClassCriteria()
Whether to use the exepected type of the related object as a criteria when selecting it.

setClassCriteria

public void setClassCriteria(boolean clsCriteria)
Whether to use the exepected type of the related object as a criteria when selecting it.

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.

usesIntermediate

public boolean usesIntermediate()
Override to return true (i.e. the related oid)
Overrides:
usesIntermediate in class AbstractFieldMapping
Following copied from interface: kodo.meta.FieldMetaData
See Also:
KodoStateManager.setIntermediate(int,Object)

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 ReferenceFieldMapping

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 AbstractFieldMapping
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 ReferenceFieldMapping

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.

reverseMap

public void reverseMap(SchemaGroup schema,
                       ReverseMappingTool tool)
Description copied from interface: Mapping
Create mappings from the schema, using the given tool. Implement this method if you want the class mapping to be a candidate when reverse-mapping a schema to java classes. Note that this method will be invoked on a template instance, so you cannot rely on the metadata or owning repository being set.
Overrides:
reverseMap in class AbstractFieldMapping

refSchemaComponents

public void refSchemaComponents()
Description copied from interface: Mapping
Increment the reference count of all used schema components.
Overrides:
refSchemaComponents in class ReferenceFieldMapping

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.

getDataStoreValue

public Object getDataStoreValue(Object val)
Description copied from interface: 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 AbstractFieldMapping

appendIsNull

public void appendIsNull(SQLBuffer sql,
                         Select sel,
                         Joins joins)
Description copied from interface: FieldMapping
Append a where clause to the given statement checking if this value is null.

appendIsNotNull

public void appendIsNotNull(SQLBuffer sql,
                            Select sel,
                            Joins joins)
Description copied from interface: FieldMapping
Append a where clause to the given statement checking if this value is not null.

join

public Joins join(Joins joins)
Description copied from interface: FieldMapping
Join this value to the class table. Does nothing by default.
Overrides:
join in class AbstractFieldMapping

joinRelation

public Joins joinRelation(Joins joins)
Description copied from interface: FieldMapping
Join this value's table to the table for the related first class object type, if any. Does nothing by default.
Overrides:
joinRelation in class AbstractFieldMapping

supportsSelect

public boolean supportsSelect(Select sel,
                              int type,
                              KodoStateManager sm,
                              JDBCStoreManager store,
                              JDBCFetchConfiguration fetch)
Description copied from interface: FieldMapping
Return true if this mapping can perform the given select type. By default, returns true only if the type is Select#JOINLESS and the given select instance already has this field's table selected. The given state manager may be null if selecting multiple instances.
Overrides:
supportsSelect in class AbstractFieldMapping

selectEagerJoin

public int selectEagerJoin(Select sel,
                           KodoStateManager sm,
                           JDBCStoreManager store,
                           JDBCFetchConfiguration fetch,
                           int eagerMode)
Description copied from interface: FieldMapping
Use eager joins to select related objects.
Overrides:
selectEagerJoin in class AbstractFieldMapping
Following copied from interface: kodo.jdbc.meta.FieldMapping
See Also:
FieldMapping.select(kodo.jdbc.sql.Select, kodo.runtime.KodoStateManager, kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, int)

select

public int select(Select sel,
                  KodoStateManager sm,
                  JDBCStoreManager store,
                  JDBCFetchConfiguration fetch,
                  int eagerMode)
Description copied from interface: FieldMapping
Select the virtual row columns of this mapping.
Following copied from interface: 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

loadEagerJoin

public void loadEagerJoin(KodoStateManager sm,
                          JDBCStoreManager store,
                          JDBCFetchConfiguration fetch,
                          Result res)
                   throws SQLException
Description copied from interface: FieldMapping
Load the joined eager result.
Overrides:
loadEagerJoin in class AbstractFieldMapping

load

public void load(KodoStateManager sm,
                 JDBCStoreManager store,
                 JDBCFetchConfiguration fetch,
                 Result res)
          throws SQLException
Description copied from interface: 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.

load

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

loadProjection

public Object loadProjection(JDBCStoreManager store,
                             JDBCFetchConfiguration fetch,
                             Result res,
                             Joins joins)
                      throws SQLException
Description copied from interface: 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().

loadKeyProjection

public Object loadKeyProjection(JDBCStoreManager store,
                                JDBCFetchConfiguration fetch,
                                Result res,
                                Joins joins)
                         throws SQLException
Description copied from interface: FieldMapping
Load this field's key value using the given result. This method will only be called if the key on this field does not represent a FCO relation. The result will contain the columns from FieldMapping.getKeyColumns().
Overrides:
loadKeyProjection in class AbstractFieldMapping

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.

update

public void update(KodoStateManager sm,
                   RowManager rm)
            throws SQLException
Description copied from interface: Mapping
Set values for the mapping into the proper rows.
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 ReferenceFieldMapping
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 AbstractFieldMapping
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)

SolarMetric Kodo JDO 3.3.5 generated on August 31 2005

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