SolarMetric Kodo JDO 3.0.3 generated on February 20 2004

kodo.jdbc.meta
Class FieldMapping

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

public abstract class FieldMapping
extends DelegatingFieldMetaData
implements Mapping, JDBCTypes

Maps a persistent field to the relational schema.


Field Summary
static String AUTO_INCREMENT
          Extension indicating that this field uses an auto-incrementing column.
static String DELETE_ACTION
          Extension key used to mark the foreign key delete action to use for the field, if it represents a foreign key to a related object.
static String ELEMENT_DELETE_ACTION
          Extension key used to mark the foreign key delete action to use for the element values of a collection, if they represent a foreign key to a related object.
static String ELEMENT_INDEXED
          Extension key used to mark whether element columns are indexed.
static String ELEMENT_SIZE
          Extension key used to mark the size of element data columns.
static String FIELD_MAP
          Extension key used to indicate the type of field mapping to use.
static String INDEXED
          Extension key used to mark whether data columns are indexed.
static String KEY_DELETE_ACTION
          Extension key used to mark the foreign key delete action to use for the keys of a map, if they represent a foreign key to a related object.
static String KEY_INDEXED
          Extension key used to mark whether key columns are indexed.
static String KEY_SIZE
          Extension key used to mark the size of key data columns.
static String REF_DELETE_ACTION
          Extension key used to mark the foreign key delete action on reference columns.
static String REF_INDEXED
          Extension key used to mark whether reference columns are indexed.
static String SIZE
          Extension key used to mark the size of data columns.
static String VALUE_DELETE_ACTION
          Extension key used to mark the foreign key delete action to use for the values of a map, if they represent a foreign key to a related object.
static String VALUE_INDEXED
          Extension key used to mark whether value columns are indexed.
static String VALUE_SIZE
          Extension key used to mark the size of value data columns.
 
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
FieldMapping(FieldMetaData meta)
          Constructor.
 
Method Summary
 void appendIsEmpty(SQLBuffer sql, Joins joins)
          Append a where clause to the given statement checking if this value is empty.
abstract  void appendIsNotNull(SQLBuffer sql, Joins joins)
          Append a where clause to the given statement checking if this value is not null.
abstract  void appendIsNull(SQLBuffer sql, Joins joins)
          Append a where clause to the given statement checking if this value is null.
 boolean containsSelectTables(Select sel)
          Return true if the given select has already selected from all the tables that may be selected in select(kodo.jdbc.sql.Select, kodo.runtime.KodoStateManager, kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, int).
 void delete(KodoStateManager sm, JDBCStoreManager store)
          Override this method to customize flushing this mapping.
 void deleteEmbedded(KodoStateManager sm, JDBCStoreManager store)
          Override this method to customize deleting the given mapping (used with embedded values only).
 void deleteEmbedded(KodoStateManager sm, RowManager rm)
          Delete values for the mapping.
abstract  Column[] getColumns()
          Return the data columns for this mapping.
 Object getDataStoreValue(Object val)
          Translate the given external field value to its datastore equivalent.
protected  DBDictionary getDBDictionary()
          Return the dictionary to use.
 ClassMapping getDeclaredElementTypeMapping()
          Convenience method to make casting from getDeclaredElementTypeMetaData() unnecessary.
 ClassMetaData getDeclaredElementTypeMetaData()
          Return metadata for the field's type, if the type is persistent.
 ClassMapping getDeclaredKeyTypeMapping()
          Convenience method to make casting from getDeclaredKeyTypeMetaData() unnecessary.
 ClassMetaData getDeclaredKeyTypeMetaData()
          Return metadata for the field's type, if the type is persistent.
 ClassMapping getDeclaredTypeMapping()
          Convenience method to make casting from getDeclaredTypeMetaData() unnecessary.
 ClassMetaData getDeclaredTypeMetaData()
          Return metadata for the field's type, if the type is persistent.
static FieldMapping[] getDefaults()
          Return the default set of available field mappings.
 int getDeleteAction()
           
 int getElementDeleteAction()
           
 int getElementIndexed()
           
 int getElementSize()
           
 ClassMapping getElementTypeMapping()
          Convenience method to make casting from getElementTypeMetaData() unnecessary.
 ClassMetaData getElementTypeMetaData()
          Return metadata for the element type, or null if not persistent.
 String getFieldMappingName()
           
 int getIndexed()
           
 FieldMapping getInverseOwnerMapping()
          Convenience method to avoid casting the result of getInverseOwnerMetaData().
 FieldMetaData getInverseOwnerMetaData()
          Return the metadata for the field's inverse.
 Column[] getKeyColumns()
          Return the key columns for this mapping, or empty array if none.
 Object getKeyDataStoreValue(Object val)
          Translate the given key value to its datastore equivalent.
 int getKeyDeleteAction()
           
 int getKeyIndexed()
           
 int getKeySize()
           
 ClassMapping getKeyTypeMapping()
          Convenience method to make casting from getKeyTypeMetaData() unnecessary.
 ClassMetaData getKeyTypeMetaData()
          Return metadata for the key type, or null if not persistent.
 MappingRepository getMappingRepository()
          Return the mapping's repository.
 ClassMetaData getOwner()
          Return the owning metadata for this field.
 ClassMapping getOwnerMapping()
          Convenience method to make casting getOwner() unnecessary.
 int getRefDeleteAction()
           
 int getRefIndexed()
           
 int getSize()
           
 ClassMapping getTypeMapping()
          Convenience method to make casting from getTypeMetaData() unnecessary.
 ClassMetaData getTypeMetaData()
          Return metadata for the field's type, if the type is persistent.
 void insert(KodoStateManager sm, JDBCStoreManager store)
          Override this method to customize flushing this mapping.
 void invalidateResolve()
          For implementation use.
 boolean isAutoIncrement()
           
 Boolean isCustomDelete(KodoStateManager sm)
          Return Boolean.FALSE if this mapping does not customize the delete process, Boolean.TRUE if it does, or null if it does customize the delete, but also relies on the standard delete method being called.
 Boolean isCustomDeleteEmbedded(KodoStateManager sm)
          Return Boolean.FALSE if this mapping does not customize the delete process, Boolean.TRUE if it does, or null if it does customize the delete, but also relies on the standard delete method being called.
 Boolean isCustomInsert(KodoStateManager sm)
          Return Boolean.FALSE if this mapping does not customize the insert process, Boolean.TRUE if it does, or null if it does customize the insert, but also relies on the standard insert method being called.
 Boolean isCustomNullEmbedded(KodoStateManager sm)
          Return Boolean.FALSE if this mapping does not customize the nulling process, Boolean.TRUE if it does, or null if it does customize the nulling, but also relies on the standard nulling method being called.
 Boolean isCustomUpdate(KodoStateManager sm)
          Return Boolean.FALSE if this mapping does not customize the update process, Boolean.TRUE if it does, or null if it does customize the update, but also relies on the standard update method being called.
 boolean isDeleteActionDeferred()
           
 boolean isElementDeleteActionDeferred()
           
 boolean isKeyDeleteActionDeferred()
           
 boolean isRefDeleteActionDeferred()
           
 boolean isResolved()
          Return whether this field has been resolved.
 void join(Joins joins)
          Join this value to the class table.
 void joinKey(Joins joins)
          Join the key value to the class table.
 void joinKeyRelation(Joins joins)
          Join this value's table to the table for the related first class object key type, if any.
 void joinRelation(Joins joins)
          Join this value's table to the table for the related first class object type, if any.
abstract  void load(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch)
          Load secondary data using a connection from the store manager.
abstract  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 loadKeyProjection(JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res)
          Load this field's key value using the given result.
abstract  Object loadProjection(JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res)
          Load this field value using the given result.
static FieldMapping newInstance(String type, FieldMetaData meta)
          Return the mapping for the given mapping name.
 void nullEmbedded(KodoStateManager sm, JDBCStoreManager store)
          Override this method to customize nulling the given mapping (used with embedded values only).
 void nullEmbedded(KodoStateManager sm, RowManager rm)
          Null values for the mapping.
 void resolve()
          For implementation use.
 void reverseMap(SchemaGroup schema, ReverseMappingTool tool)
          Create mappings from the schema, using the given tool.
abstract  int select(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, int eagerMode)
          Select the virtual row columns of this mapping.
 void selectEager(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch)
          Select eager to-many relations.
 void setAutoIncrement(boolean autoInc)
           
 void setDeleteAction(int action, boolean deferred)
           
 void setElementDeleteAction(int action, boolean deferred)
           
 void setElementIndexed(int idx)
           
 void setElementSize(int size)
           
 void setFieldMappingName(String map)
           
 void setIndexed(int idx)
           
 void setKeyDeleteAction(int action, boolean deferred)
           
 void setKeyIndexed(int idx)
           
 void setKeySize(int size)
           
 void setOwner(ClassMetaData owner)
          Set the owning metadata for this field.
 void setRefDeleteAction(int action, boolean deferred)
           
 void setRefIndexed(int idx)
           
 void setSize(int size)
           
 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.
 void update(KodoStateManager sm, JDBCStoreManager store)
          Override this method to customize flushing this mapping.
 
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
delete, fromMappingInfo, getMappingType, getTable, insert, map, refSchemaComponents, toMappingInfo, update
 
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

FIELD_MAP

public static final String FIELD_MAP
Extension key used to indicate the type of field mapping to use.

SIZE

public static final String SIZE
Extension key used to mark the size of data columns. Use -1 to indicate a LOB column. Default is the database defualt, or 255 for strings.

ELEMENT_SIZE

public static final String ELEMENT_SIZE
Extension key used to mark the size of element data columns.
See Also:
SIZE

VALUE_SIZE

public static final String VALUE_SIZE
Extension key used to mark the size of value data columns.
See Also:
SIZE

KEY_SIZE

public static final String KEY_SIZE
Extension key used to mark the size of key data columns.
See Also:
SIZE

INDEXED

public static final String INDEXED
Extension key used to mark whether data columns are indexed. Set to true, false, or unique. Default depends on the mapping involved.

ELEMENT_INDEXED

public static final String ELEMENT_INDEXED
Extension key used to mark whether element columns are indexed.
See Also:
INDEXED

VALUE_INDEXED

public static final String VALUE_INDEXED
Extension key used to mark whether value columns are indexed.
See Also:
INDEXED

KEY_INDEXED

public static final String KEY_INDEXED
Extension key used to mark whether key columns are indexed.
See Also:
INDEXED

REF_INDEXED

public static final String REF_INDEXED
Extension key used to mark whether reference columns are indexed.
See Also:
INDEXED

DELETE_ACTION

public static final String DELETE_ACTION
Extension key used to mark the foreign key delete action to use for the field, if it represents a foreign key to a related object. Legal values are none, null, null-deferred, default, default-deferred, exception, exception-deferred, cascade, cascade-deferred. Default depends on mapping involved.

ELEMENT_DELETE_ACTION

public static final String ELEMENT_DELETE_ACTION
Extension key used to mark the foreign key delete action to use for the element values of a collection, if they represent a foreign key to a related object.
See Also:
DELETE_ACTION

KEY_DELETE_ACTION

public static final String KEY_DELETE_ACTION
Extension key used to mark the foreign key delete action to use for the keys of a map, if they represent a foreign key to a related object.
See Also:
DELETE_ACTION

VALUE_DELETE_ACTION

public static final String VALUE_DELETE_ACTION
Extension key used to mark the foreign key delete action to use for the values of a map, if they represent a foreign key to a related object.
See Also:
DELETE_ACTION

REF_DELETE_ACTION

public static final String REF_DELETE_ACTION
Extension key used to mark the foreign key delete action on reference columns.
See Also:
DELETE_ACTION

AUTO_INCREMENT

public static final String AUTO_INCREMENT
Extension indicating that this field uses an auto-incrementing column. Legal values are true or false. Defaults to false.
Constructor Detail

FieldMapping

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

newInstance

public static FieldMapping newInstance(String type,
                                       FieldMetaData meta)
Return the mapping for the given mapping name.

getDefaults

public static FieldMapping[] getDefaults()
Return the default set of available field mappings.

getMappingRepository

public MappingRepository getMappingRepository()
Description copied from interface: Mapping
Return the mapping's repository.
Specified by:
getMappingRepository in interface Mapping

getColumns

public abstract Column[] getColumns()
Return the data columns for this mapping. This corresponds to the field-order foreign key columns in relations.

getKeyColumns

public Column[] getKeyColumns()
Return the key columns for this mapping, or empty array if none. Returns an empty array by default.

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.
Specified by:
reverseMap in interface Mapping

containsSelectTables

public boolean containsSelectTables(Select sel)
Return true if the given select has already selected from all the tables that may be selected in select(kodo.jdbc.sql.Select, kodo.runtime.KodoStateManager, kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, int). By default, returns true if the select contains the table returned by Mapping.getTable().

supportsTwoPartSelect

public 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. Returns false by default.

select

public abstract int select(Select sel,
                           KodoStateManager sm,
                           JDBCStoreManager store,
                           JDBCFetchConfiguration fetch,
                           int eagerMode)
Select the virtual row columns of this mapping.
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

selectEager

public void selectEager(Select sel,
                        KodoStateManager sm,
                        JDBCStoreManager store,
                        JDBCFetchConfiguration fetch)
Select eager to-many relations. This method is only called under FetchConfiguration.EAGER_FETCH_MULTIPLE. Does nothing by default.
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

load

public abstract void load(KodoStateManager sm,
                          JDBCStoreManager store,
                          JDBCFetchConfiguration fetch,
                          Result res)
                   throws SQLException
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 abstract void load(KodoStateManager sm,
                          JDBCStoreManager store,
                          JDBCFetchConfiguration fetch)
                   throws SQLException
Load secondary data using a connection from the store manager.

nullEmbedded

public void nullEmbedded(KodoStateManager sm,
                         RowManager rm)
                  throws SQLException
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.
See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)

deleteEmbedded

public void deleteEmbedded(KodoStateManager sm,
                           RowManager rm)
                    throws SQLException
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.
See Also:
Mapping.insert(kodo.runtime.KodoStateManager, kodo.jdbc.sql.RowManager)

isCustomInsert

public Boolean isCustomInsert(KodoStateManager sm)
Description copied from interface: Mapping
Return Boolean.FALSE if this mapping does not customize the insert process, Boolean.TRUE if it does, or null if it does customize the insert, but also relies on the standard insert method being called. Implement the #insert(KodoStateManager,JDBCStoreManager,Connection) method to implement the custom insertion behavior.
Specified by:
isCustomInsert in interface Mapping

isCustomUpdate

public Boolean isCustomUpdate(KodoStateManager sm)
Description copied from interface: Mapping
Return Boolean.FALSE if this mapping does not customize the update process, Boolean.TRUE if it does, or null if it does customize the update, but also relies on the standard update method being called. Implement the #update(KodoStateManager,JDBCStoreManager,Connection) method to override the default update behavior.
Specified by:
isCustomUpdate in interface Mapping

isCustomDelete

public Boolean isCustomDelete(KodoStateManager sm)
Description copied from interface: Mapping
Return Boolean.FALSE if this mapping does not customize the delete process, Boolean.TRUE if it does, or null if it does customize the delete, but also relies on the standard delete method being called. Implement the #delete(KodoStateManager,JDBCStoreManager,Connection) method to override the default deletion behavior.
Specified by:
isCustomDelete in interface Mapping

isCustomNullEmbedded

public Boolean isCustomNullEmbedded(KodoStateManager sm)
Return Boolean.FALSE if this mapping does not customize the nulling process, Boolean.TRUE if it does, or null if it does customize the nulling, but also relies on the standard nulling method being called. Implement the #nullEmbedded(KodoStateManager,JDBCStoreManager,Connection) method to override the default update behavior.

isCustomDeleteEmbedded

public Boolean isCustomDeleteEmbedded(KodoStateManager sm)
Return Boolean.FALSE if this mapping does not customize the delete process, Boolean.TRUE if it does, or null if it does customize the delete, but also relies on the standard delete method being called. Implement the #deleteEmbedded(KodoStateManager,JDBCStoreManager,Connection) method to override the default update behavior.

insert

public void insert(KodoStateManager sm,
                   JDBCStoreManager store)
            throws SQLException
Description copied from interface: Mapping
Override this method to customize flushing this mapping. For classes, this method must also flush all fields. For fields, this method is called after the owning object is inserted, so if this field is in a row with other fields, that row will already exist.
Specified by:
insert in interface Mapping

update

public void update(KodoStateManager sm,
                   JDBCStoreManager store)
            throws SQLException
Description copied from interface: Mapping
Override this method to customize flushing this mapping. For classes, this method must also flush all fields.
Specified by:
update in interface Mapping

delete

public void delete(KodoStateManager sm,
                   JDBCStoreManager store)
            throws SQLException
Description copied from interface: Mapping
Override this method to customize flushing this mapping. For classes, this method must also flush all fields. For fields, this method will be called after the owning object is deleted.
Specified by:
delete in interface Mapping

nullEmbedded

public void nullEmbedded(KodoStateManager sm,
                         JDBCStoreManager store)
                  throws SQLException
Override this method to customize nulling the given mapping (used with embedded values only). The given state manager will represent the object that embeds the object being nulled.

deleteEmbedded

public void deleteEmbedded(KodoStateManager sm,
                           JDBCStoreManager store)
                    throws SQLException
Override this method to customize deleting the given mapping (used with embedded values only). The given state manager will represent the object that embeds the object being deleted.

getDataStoreValue

public Object getDataStoreValue(Object val)
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.

getKeyDataStoreValue

public Object getKeyDataStoreValue(Object val)
Translate the given key 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.

appendIsEmpty

public void appendIsEmpty(SQLBuffer sql,
                          Joins joins)
Append a where clause to the given statement checking if this value is empty. Appends impossible-to-satisfy SQL by default.

appendIsNull

public abstract void appendIsNull(SQLBuffer sql,
                                  Joins joins)
Append a where clause to the given statement checking if this value is null.

appendIsNotNull

public abstract void appendIsNotNull(SQLBuffer sql,
                                     Joins joins)
Append a where clause to the given statement checking if this value is not null.

join

public void join(Joins joins)
Join this value to the class table. Does nothing by default.

joinKey

public void joinKey(Joins joins)
Join the key value to the class table. Does nothing by default.

joinRelation

public void joinRelation(Joins joins)
Join this value's table to the table for the related first class object type, if any. Does nothing by default.

joinKeyRelation

public void joinKeyRelation(Joins joins)
Join this value's table to the table for the related first class object key type, if any. Does nothing by default.

loadProjection

public abstract Object loadProjection(JDBCStoreManager store,
                                      JDBCFetchConfiguration fetch,
                                      Result res)
                               throws SQLException
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 getColumns().

loadKeyProjection

public Object loadKeyProjection(JDBCStoreManager store,
                                JDBCFetchConfiguration fetch,
                                Result res)
                         throws SQLException
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 getKeyColumns(). Returns null by default.

getDBDictionary

protected DBDictionary getDBDictionary()
Return the dictionary to use.

getFieldMappingName

public String getFieldMappingName()

setFieldMappingName

public void setFieldMappingName(String map)

getSize

public int getSize()

setSize

public void setSize(int size)

getElementSize

public int getElementSize()

setElementSize

public void setElementSize(int size)

getKeySize

public int getKeySize()

setKeySize

public void setKeySize(int size)

getIndexed

public int getIndexed()

setIndexed

public void setIndexed(int idx)

getElementIndexed

public int getElementIndexed()

setElementIndexed

public void setElementIndexed(int idx)

getKeyIndexed

public int getKeyIndexed()

setKeyIndexed

public void setKeyIndexed(int idx)

getRefIndexed

public int getRefIndexed()

setRefIndexed

public void setRefIndexed(int idx)

getDeleteAction

public int getDeleteAction()

isDeleteActionDeferred

public boolean isDeleteActionDeferred()

setDeleteAction

public void setDeleteAction(int action,
                            boolean deferred)

getElementDeleteAction

public int getElementDeleteAction()

isElementDeleteActionDeferred

public boolean isElementDeleteActionDeferred()

setElementDeleteAction

public void setElementDeleteAction(int action,
                                   boolean deferred)

getKeyDeleteAction

public int getKeyDeleteAction()

isKeyDeleteActionDeferred

public boolean isKeyDeleteActionDeferred()

setKeyDeleteAction

public void setKeyDeleteAction(int action,
                               boolean deferred)

getRefDeleteAction

public int getRefDeleteAction()

isRefDeleteActionDeferred

public boolean isRefDeleteActionDeferred()

setRefDeleteAction

public void setRefDeleteAction(int action,
                               boolean deferred)

isAutoIncrement

public boolean isAutoIncrement()

setAutoIncrement

public void setAutoIncrement(boolean autoInc)

getOwner

public ClassMetaData getOwner()
Description copied from interface: FieldMetaData
Return the owning metadata for this field.
Overrides:
getOwner in class DelegatingFieldMetaData

getOwnerMapping

public ClassMapping getOwnerMapping()
Convenience method to make casting getOwner() unnecessary.

setOwner

public void setOwner(ClassMetaData owner)
Description copied from interface: FieldMetaData
Set the owning metadata for this field.
Overrides:
setOwner in class DelegatingFieldMetaData

getTypeMetaData

public ClassMetaData getTypeMetaData()
Description copied from interface: FieldMetaData
Return metadata for the field's type, if the type is persistent.
Overrides:
getTypeMetaData in class DelegatingFieldMetaData

getTypeMapping

public ClassMapping getTypeMapping()
Convenience method to make casting from getTypeMetaData() unnecessary.

getDeclaredTypeMetaData

public ClassMetaData getDeclaredTypeMetaData()
Description copied from interface: FieldMetaData
Return metadata for the field's type, if the type is persistent.
Overrides:
getDeclaredTypeMetaData in class DelegatingFieldMetaData

getDeclaredTypeMapping

public ClassMapping getDeclaredTypeMapping()
Convenience method to make casting from getDeclaredTypeMetaData() unnecessary.

getElementTypeMetaData

public ClassMetaData getElementTypeMetaData()
Description copied from interface: FieldMetaData
Return metadata for the element type, or null if not persistent.
Overrides:
getElementTypeMetaData in class DelegatingFieldMetaData

getElementTypeMapping

public ClassMapping getElementTypeMapping()
Convenience method to make casting from getElementTypeMetaData() unnecessary.

getDeclaredElementTypeMetaData

public ClassMetaData getDeclaredElementTypeMetaData()
Description copied from interface: FieldMetaData
Return metadata for the field's type, if the type is persistent.
Overrides:
getDeclaredElementTypeMetaData in class DelegatingFieldMetaData

getDeclaredElementTypeMapping

public ClassMapping getDeclaredElementTypeMapping()
Convenience method to make casting from getDeclaredElementTypeMetaData() unnecessary.

getKeyTypeMetaData

public ClassMetaData getKeyTypeMetaData()
Description copied from interface: FieldMetaData
Return metadata for the key type, or null if not persistent.
Overrides:
getKeyTypeMetaData in class DelegatingFieldMetaData

getKeyTypeMapping

public ClassMapping getKeyTypeMapping()
Convenience method to make casting from getKeyTypeMetaData() unnecessary.

getDeclaredKeyTypeMetaData

public ClassMetaData getDeclaredKeyTypeMetaData()
Description copied from interface: FieldMetaData
Return metadata for the field's type, if the type is persistent.
Overrides:
getDeclaredKeyTypeMetaData in class DelegatingFieldMetaData

getDeclaredKeyTypeMapping

public ClassMapping getDeclaredKeyTypeMapping()
Convenience method to make casting from getDeclaredKeyTypeMetaData() unnecessary.

getInverseOwnerMetaData

public FieldMetaData getInverseOwnerMetaData()
Description copied from interface: FieldMetaData
Return the metadata for the field's inverse.
Overrides:
getInverseOwnerMetaData in class DelegatingFieldMetaData

getInverseOwnerMapping

public FieldMapping getInverseOwnerMapping()
Convenience method to avoid casting the result of getInverseOwnerMetaData().

isResolved

public boolean isResolved()
Description copied from interface: FieldMetaData
Return whether this field has been resolved.
Overrides:
isResolved in class DelegatingFieldMetaData

invalidateResolve

public void invalidateResolve()
Description copied from interface: FieldMetaData
For implementation use. Invalidate the field's resolve.
Overrides:
invalidateResolve in class DelegatingFieldMetaData

resolve

public void resolve()
Description copied from interface: FieldMetaData
For implementation use. This method resolves fields that might be other first class objects, and caches frequently-accessed data. It requires access to a respository. It can use the repository to access class metadatas, but it cannot access other field metadatas.
Overrides:
resolve in class DelegatingFieldMetaData

SolarMetric Kodo JDO 3.0.3 generated on February 20 2004

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