Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.4.1 generated on May 30 2006
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## kodo.jdbc.meta
Class ContainerFieldMapping

    java.lang.Object
      |
      +--kodo.meta.DelegatingExtensions
            |
            +--kodo.meta.DelegatingFieldMetaData
                  |
                  +--kodo.jdbc.meta.AbstractFieldMapping
                        |
                        +--kodo.jdbc.meta.ReferenceFieldMapping
                              |
                              +--kodo.jdbc.meta.ContainerFieldMapping

All Implemented Interfaces:
  Commentable, Comparable, Extensions, FieldMapping, FieldMetaData, JDBCTypes, JDOTypes, Mapping

Direct Known Subclasses:
  AbstractCollectionFieldMapping, AbstractMapFieldMapping

public abstract class ContainerFieldMapping
extends ReferenceFieldMapping

Base class for collection and map mappings. Handles container metadata and basic query functionality.

Field Summary
`static String` | `CONTAINER_META` Extension key used to mark whether collection/map mappings should use a metadata column to differentiate between null and empty containers.

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, TYPE, VALUE_DEPENDENT, VALUE_TYPE`

Constructor Summary
`ContainerFieldMapping(FieldMetaData meta)` Constructor.

Method Summary
`void` | `addExtensionKeys(Collection attrs)` Add all the known extension keys to the specified collection; any implementation that utilized new extensions should override this method to include both the known extensions of its superclass as well as its own extension keys.
`void` | `addMappingInfoAttributes(Collection attrs)` Add all mapping attributes names used by this mapping to the given collection.
`void` | `appendIsEmpty(SQLBuffer sql, Select sel, Joins joins)` Append a where clause to the given statement checking if this value is empty.
`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` | `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.
`int` | `getContainerMeta()`
`Column` | `getMetaDataColumn()` Return the column holding the collection meta data.
`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.
`void` | `load(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, Result res)` Loads the metadata.
`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.
`int` | `select(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, int eagerMode)` Selects the metadata column if there is one and the metadata hasn't been loaded.
`void` | `setContainerMeta(int meta)`
`void` | `setMetaDataColumn(Column col)` Set the column holding the collection meta data.
`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.

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
`assertTable, delete, deleteEmbedded, deleteEmbedded, getDataStoreValue, 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, joinRelation, loadEagerJoin, loadEagerParallel, loadKeyProjection, nullEmbedded, resolve, reverseMap, selectEagerJoin, selectEagerParallel, setAutoIncrement, setDeleteAction, setElementDeleteAction, setElementIndexed, setElementSize, setFieldMappingName, setIndexed, setJDBCTypeCode, setKeyDeleteAction, setKeyIndexed, setKeySize, setNonVirtualOwner, setOwner, setRefDeleteAction, setRefIndexed, setSize, setSQLType, update, usesImplData, usesIntermediate`

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.jdbc.meta.Mapping
`getMappingType`

Methods inherited from interface kodo.jdbc.meta.FieldMapping
`getColumns, load, loadProjection`

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

### CONTAINER_META

    public static final String CONTAINER_META

  Extension key used to mark whether collection/map mappings should use a metadata column to differentiate between null and empty containers. Set to `true` or `false`. Defaults to false.

Constructor Detail

### ContainerFieldMapping

    public ContainerFieldMapping(FieldMetaData meta)

  Constructor. Supply underlying metadata.

Method Detail

### getMetaDataColumn

    public Column getMetaDataColumn()

  Return the column holding the collection meta data.

### setMetaDataColumn

    public void setMetaDataColumn(Column col)

  Set the column holding the collection meta data.

### getContainerMeta

    public int getContainerMeta()

### setContainerMeta

    public void setContainerMeta(int meta)

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

### addExtensionKeys

    public void addExtensionKeys(Collection attrs)

  Description copied from interface: `Extensions`
  Add all the known extension keys to the specified collection; any implementation that utilized new extensions should override this method to include both the known extensions of its superclass as well as its own extension keys.
  Overrides:
    `addExtensionKeys` in class `AbstractFieldMapping`

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

### refSchemaComponents

    public void refSchemaComponents()

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

### appendIsEmpty

    public void appendIsEmpty(SQLBuffer sql,
                              Select sel,
                              Joins joins)

  Description copied from interface: `FieldMapping`
  Append a where clause to the given statement checking if this value is empty. Appends impossible-to-satisfy SQL by default.
  Overrides:
    `appendIsEmpty` 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`

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

### select

    public int select(Select sel,
                      KodoStateManager sm,
                      JDBCStoreManager store,
                      JDBCFetchConfiguration fetch,
                      int eagerMode)

  Selects the metadata column if there is one and the metadata hasn't been loaded.
  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

### load

    public void load(KodoStateManager sm,
                     JDBCStoreManager store,
                     JDBCFetchConfiguration fetch,
                     Result res)
              throws SQLException

  Loads the metadata.

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

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.4.1 generated on May 30 2006
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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