Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## kodo.jdbc.meta
Class AbstractMapFieldMapping

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

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

Direct Known Subclasses:
  ColumnMapFieldMapping, ColumnToManyMapFieldMapping, ManyToColumnMapFieldMapping, ManyToManyMapFieldMapping

public abstract class AbstractMapFieldMapping
extends ContainerFieldMapping

Base class for map mappings. Handles managing the secondary table used to hold map keys and values and loading. Subclasses must implement `FieldMapping.loadKeyProjection(kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, kodo.jdbc.sql.Result, kodo.jdbc.sql.Joins)` and `FieldMapping.loadProjection(kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, kodo.jdbc.sql.Result, kodo.jdbc.sql.Joins)` even if their key/value types are FCOs.

Inner Class Summary
`protected class` | `AbstractMapFieldMapping.LRSProxyMap` Large result set map.

Fields inherited from class kodo.jdbc.meta.ContainerFieldMapping
`CONTAINER_META`

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
`AbstractMapFieldMapping(FieldMetaData meta)` Constructor.

Method Summary
`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.
`protected abstract Result[]` | `getResults(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, int eagerMode, boolean lrs)` Return results containing all keys and values for this map.
`Joins` | `joinKey(Joins joins)` Join the key value to the class table.
`void` | `load(KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch)` Load secondary data using a connection from the store manager.
`boolean` | `map()` Map a new instance of this mapping type.
`protected abstract void` | `selectKeys(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, Joins joins)` Implement this method to select the keys of this mapping.
`protected abstract void` | `selectValues(Select sel, KodoStateManager sm, JDBCStoreManager store, JDBCFetchConfiguration fetch, Joins joins)` Implement this method to select the values of this mapping.

Methods inherited from class kodo.jdbc.meta.ContainerFieldMapping
`addExtensionKeys, addMappingInfoAttributes, appendIsEmpty, appendIsNotNull, appendIsNull, delete, getContainerMeta, getMetaDataColumn, insert, join, load, nullEmbedded, refSchemaComponents, select, setContainerMeta, setMetaDataColumn, supportsSelect, toMappingInfo, update`

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

Constructor Detail

### AbstractMapFieldMapping

    public AbstractMapFieldMapping(FieldMetaData meta)

  Constructor. Supply underlying metadata.

Method Detail

### 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 `ContainerFieldMapping`
  Following copied from class: `kodo.jdbc.meta.AbstractFieldMapping`
  See Also:
    `AbstractFieldMapping.addMappingInfoAttributes(java.util.Collection)`

### map

    public boolean map()

  Description copied from interface: `Mapping`
  Map a new instance of this mapping type. If the underlying metadata cannot be mapped using this type, return false.
  Overrides:
    `map` in class `ContainerFieldMapping`

### joinKey

    public Joins joinKey(Joins joins)

  Description copied from interface: `FieldMapping`
  Join the key value to the class table. Does nothing by default.
  Overrides:
    `joinKey` in class `AbstractFieldMapping`

### load

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

  Description copied from interface: `FieldMapping`
  Load secondary data using a connection from the store manager.

### selectKeys

    protected abstract void selectKeys(Select sel,
                                       KodoStateManager sm,
                                       JDBCStoreManager store,
                                       JDBCFetchConfiguration fetch,
                                       Joins joins)

  Implement this method to select the keys of this mapping. If the keys are FCOs, do not select them with any eager fetching enabled. Used in LRS support.

### selectValues

    protected abstract void selectValues(Select sel,
                                         KodoStateManager sm,
                                         JDBCStoreManager store,
                                         JDBCFetchConfiguration fetch,
                                         Joins joins)

  Implement this method to select the values of this mapping. If the values are FCOs, do not select them with any eager fetching enabled. Used in LRS support.

### getResults

    protected abstract Result[] getResults(KodoStateManager sm,
                                           JDBCStoreManager store,
                                           JDBCFetchConfiguration fetch,
                                           int eagerMode,
                                           boolean lrs)
                                    throws SQLException

  Return results containing all keys and values for this map. If two results are needed, return the result containing the keys in the array's 0th index, followed by the result containing the values in the 1st index. The results will be loaded with the `FieldMapping.loadKeyProjection(kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, kodo.jdbc.sql.Result, kodo.jdbc.sql.Joins)` and `FieldMapping.loadProjection(kodo.jdbc.runtime.JDBCStoreManager, kodo.jdbc.runtime.JDBCFetchConfiguration, kodo.jdbc.sql.Result, kodo.jdbc.sql.Joins)` methods.

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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