Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.0.3 generated on February 20 2004
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.0.3 generated on February 20 2004
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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