Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.solarmetric.rd.kodo.impl.jdbc.meta.map
Class ContainerMapping

    java.lang.Object
      |
      +--com.solarmetric.rd.kodo.impl.jdbc.meta.Mapping
            |
            +--com.solarmetric.rd.kodo.impl.jdbc.meta.ExtensionsMapping
                  |
                  +--com.solarmetric.rd.kodo.impl.jdbc.meta.FieldMapping
                        |
                        +--com.solarmetric.rd.kodo.impl.jdbc.meta.map.ReferenceMapping
                              |
                              +--com.solarmetric.rd.kodo.impl.jdbc.meta.map.ContainerMapping

All Implemented Interfaces:
  java.lang.Comparable, Extensions, FieldMetaData

Direct Known Subclasses:
  AbstractCollectionMapping, AbstractMapMapping

public abstract class ContainerMapping
extends ReferenceMapping

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

Field Summary

Fields inherited from class com.solarmetric.rd.kodo.impl.jdbc.meta.FieldMapping
`CONTAINER_META, DELETE_ACTION, ELEMENT_DELETE_ACTION, ELEMENT_INDEXED, ELEMENT_SIZE, EMPTY_COLUMNS, INDEXED, KEY_DELETE_ACTION, KEY_INDEXED, KEY_SIZE, ORDERED, REF_DELETE_ACTION, REF_INDEXED, SIZE, 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, USE_FIELD_MAP, USE_NULL_IND, VALUE_DELETE_ACTION, VALUE_INDEXED, VALUE_SIZE`

Fields inherited from class com.solarmetric.rd.kodo.impl.jdbc.meta.Mapping
`DEFAULT, FALSE, LOB, TRUE, UNIQUE`

Fields inherited from interface com.solarmetric.rd.kodo.meta.FieldMetaData
`DEPENDENT, ELEMENT_DEPENDENT, ELEMENT_PC_CLASS, INVERSE_OWNER, KEY_DEPENDENT, KEY_PC_CLASS, MANAGE_NONE, MANAGE_PERSISTENT, MANAGE_TRANSACTIONAL, NULL_DEFAULT, NULL_EXCEPTION, NULL_NONE, PC_CLASS, 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, VALUE_DEPENDENT, VALUE_PC_CLASS`

Constructor Summary
`ContainerMapping(com.solarmetric.rd.kodo.meta.FieldMetaData meta)` Constructor.

Method Summary
`void` | `appendIsEmpty(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql, com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)` Create a where clause to the given statement asking if this value is empty.
`void` | `appendIsNotNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql, com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)` Add a where clause to the given statement asking if this value is not null.
`void` | `appendIsNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql, com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)` Add a where clause to the given statement asking if this value is null.
`boolean` | `fromMappingInfo(com.solarmetric.rd.kodo.impl.jdbc.meta.MappingInfo info, boolean adapt)` Deserialize this mapping from a simple `MappingInfo` instance parsed from XML or some other format.
`com.solarmetric.rd.kodo.impl.jdbc.schema.Column` | `getMetaDataColumn()` Return the column holding the collection meta data.
`com.solarmetric.rd.kodo.impl.jdbc.schema.Table` | `getVRowTable()` Return the table this mapping uses for the columns that are part of the 'virtual row' that this object spans in the database.
`void` | `insert(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm, com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager rm)` Set values for the mapping into the proper rows.
`void` | `join(com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)` Join this value to the class table.
`void` | `load(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm, com.solarmetric.rd.kodo.impl.jdbc.runtime.JDBCStoreManager store, com.solarmetric.rd.kodo.impl.jdbc.runtime.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.
`boolean` | `map()` Map a new instance of this mapping type.
`protected java.util.Collection` | `newCollection(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm)` Return a new collection to fill with loaded data, taking into account the stored comparator metadata, if any.
`protected java.util.Map` | `newMap(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm)` Return a new map to fill with loaded data, taking into account the stored comparator metadata, if any.
`void` | `nullEmbedded(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm, com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager rm)` Null values for the mapping.
`void` | `refSchemaComponents()` Increment the reference count of all used schema components.
`void` | `select(com.solarmetric.rd.kodo.impl.jdbc.runtime.Select sel, boolean multiple)` Select the virtual row columns of this mapping.
`java.lang.Boolean` | `selectVRowData(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm)` Return `Boolean.TRUE` if 'virtual row' data needs to be selected, `Boolean.FALSE` if it does not need to be, and `null` if it would be desirable to select it, but is not necessary.
`void` | `setMetaDataColumn(com.solarmetric.rd.kodo.impl.jdbc.schema.Column col)` Set the column holding the collection meta data.
`void` | `toMappingInfo(com.solarmetric.rd.kodo.impl.jdbc.meta.MappingInfo info)` Serialize this mapping to a simple `MappingInfo` instance for transfer to XML or some other format.
`void` | `update(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm, com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager rm)` Set values for the mapping into the proper rows.

Methods inherited from class com.solarmetric.rd.kodo.impl.jdbc.meta.map.ReferenceMapping
`createRefForeignKey, fromMappingInfo, getRefForeignKey, getSelectJoins, getTable, join, setRefForeignKey, wherePrimaryKey`

Methods inherited from class com.solarmetric.rd.kodo.impl.jdbc.meta.FieldMapping
`addExtension, addExtension, checkRepository, compareTo, deleteEmbedded, deleteEmbedded, getBooleanExtension, getBooleanExtension, getColumns, getContainerMeta, getDataStoreValue, getDeclaredElementType, getDeclaredIndex, getDeclaredKeyType, getDeclaredType, getDefaults, getDeleteAction, getDoubleExtension, getDoubleExtension, getElementDeleteAction, getElementIndexed, getElementPCClass, getElementSize, getElementType, getElementTypeCode, getElementTypeMapping, getElementTypeMetaData, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionKeys, getExtensionKeys, getExtensionVendors, getFieldFlag, getFullName, getIndex, getIndexed, getIntExtension, getIntExtension, getInverseOwner, getInverseOwnerMapping, getInverseOwnerMetaData, getKeyColumns, getKeyDataStoreValue, getKeyDeleteAction, getKeyIndexed, getKeyPCClass, getKeySize, getKeyType, getKeyTypeCode, getKeyTypeMapping, getKeyTypeMetaData, getManagement, getMappingRepository, getMetaData, getName, getNullValue, getObjectExtension, getObjectExtension, getOrdered, getOwner, getOwnerMapping, getPCClass, getRefDeleteAction, getRefIndexed, getSize, getStringExtension, getStringExtension, getType, getTypeCode, getTypeMapping, getTypeMetaData, getUseFieldMapping, getUseNullIndicator, hasExtension, hasExtension, invalidateResolve, isCustomDeleteEmbedded, isCustomNullEmbedded, isDeleteActionDeferred, isDependent, isEager, isElementDeleteActionDeferred, isElementDependent, isElementEager, isEmbedded, isEmbeddedElement, isEmbeddedKey, isEmpty, isExplicit, isInDefaultFetchGroup, isKeyDeleteActionDeferred, isKeyDependent, isKeyEager, isPrimaryKey, isRefDeleteActionDeferred, isValue, joinKey, joinKeyRelation, joinRelation, load, newInstance, newInstance, nullEmbedded, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension, resolve, setContainerMeta, setDeclaredIndex, setDeleteAction, setDependent, setElementDeleteAction, setElementDependent, setElementIndexed, setElementPCClass, setElementSize, setElementType, setEmbedded, setEmbeddedElement, setEmbeddedKey, setExplicit, setInDefaultFetchGroup, setIndex, setIndexed, setInverseOwner, setKeyDeleteAction, setKeyDependent, setKeyIndexed, setKeyPCClass, setKeySize, setKeyType, setManagement, setName, setNullValue, setOrdered, setOwner, setPCClass, setPrimaryKey, setRefDeleteAction, setRefIndexed, setSize, setType, setUseFieldMapping, setUseNullIndicator, toString`

Methods inherited from class com.solarmetric.rd.kodo.impl.jdbc.meta.Mapping
`checkIndex, createColumn, delete, delete, getDBDictionary, getForeignKey, getLog, getMappingType, getSchemaGroup, insert, invalidMapping, isCustomDelete, isCustomInsert, isCustomUpdate, reverseMap, setForeignKey, update`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.solarmetric.rd.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`

Constructor Detail

### ContainerMapping

    public ContainerMapping(com.solarmetric.rd.kodo.meta.FieldMetaData meta)

  Constructor. Supply underlying metadata.

Method Detail

### getMetaDataColumn

    public com.solarmetric.rd.kodo.impl.jdbc.schema.Column getMetaDataColumn()

  Return the column holding the collection meta data.

### setMetaDataColumn

    public void setMetaDataColumn(com.solarmetric.rd.kodo.impl.jdbc.schema.Column col)

  Set the column holding the collection meta data.

### toMappingInfo

    public void toMappingInfo(com.solarmetric.rd.kodo.impl.jdbc.meta.MappingInfo info)

  Description copied from class: `Mapping`
  Serialize this mapping to a simple `MappingInfo` instance for transfer to XML or some other format.

  Overrides:
    `toMappingInfo` in class `ReferenceMapping`

### fromMappingInfo

    public boolean fromMappingInfo(com.solarmetric.rd.kodo.impl.jdbc.meta.MappingInfo info,
                                   boolean adapt)

  Description copied from class: `Mapping`
  Deserialize this mapping from a simple `MappingInfo` instance parsed from XML or some other format. If the info is incompatible and `adapt` is true, try to adapt to the new info, else return false. This method must validate the given mapping information using the `SchemaGroup.findTable(java.lang.String)` method to find any needed tables, the `Table.getColumn(java.lang.String)` method to retrieve columns from those tables, and the `Column.isCompatible(int, int)` method to check all column types. This is important, as some schema groups use these methods to build themselves up dynamically rather than reading schema information from the database.

  Specified by:
    `fromMappingInfo` in class `Mapping`

### map

    public boolean map()

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

  Specified by:
    `map` in class `Mapping`

### refSchemaComponents

    public void refSchemaComponents()

  Description copied from class: `Mapping`
  Increment the reference count of all used schema components.

  Overrides:
    `refSchemaComponents` in class `ReferenceMapping`

### appendIsEmpty

    public void appendIsEmpty(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql,
                              com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)

  Description copied from class: `FieldMapping`
  Create a where clause to the given statement asking if this value is empty.

  Specified by:
    `appendIsEmpty` in class `FieldMapping`

### appendIsNull

    public void appendIsNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql,
                             com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)

  Description copied from class: `FieldMapping`
  Add a where clause to the given statement asking if this value is null.

  Specified by:
    `appendIsNull` in class `FieldMapping`

### appendIsNotNull

    public void appendIsNotNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql,
                                com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)

  Description copied from class: `FieldMapping`
  Add a where clause to the given statement asking if this value is not null.

  Specified by:
    `appendIsNotNull` in class `FieldMapping`

### join

    public void join(com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)

  Description copied from class: `FieldMapping`
  Join this value to the class table.

  Specified by:
    `join` in class `FieldMapping`

### getVRowTable

    public com.solarmetric.rd.kodo.impl.jdbc.schema.Table getVRowTable()

  Description copied from class: `FieldMapping`
  Return the table this mapping uses for the columns that are part of the 'virtual row' that this object spans in the database. The virtual row can include multiple tables if some fields are stored in joined tables. However, the virtual row includes only those other tables that are guaranteed to have exactly one row in them for the object's corresponding row in the primary table.

  Specified by:
    `getVRowTable` in class `FieldMapping`

### selectVRowData

    public java.lang.Boolean selectVRowData(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm)

  Description copied from class: `FieldMapping`
  Return `Boolean.TRUE` if 'virtual row' data needs to be selected, `Boolean.FALSE` if it does not need to be, and `null` if it would be desirable to select it, but is not necessary.

  Specified by:
    `selectVRowData` in class `FieldMapping`

### select

    public void select(com.solarmetric.rd.kodo.impl.jdbc.runtime.Select sel,
                       boolean multiple)

  Description copied from class: `FieldMapping`
  Select the virtual row columns of this mapping.

  Specified by:
    `select` in class `FieldMapping`
  Parameters:
    `sel` - the select to add to
    `multiple` - whether this select is expected to match multiple objects

### load

    public void load(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm,
                     com.solarmetric.rd.kodo.impl.jdbc.runtime.JDBCStoreManager store,
                     com.solarmetric.rd.kodo.impl.jdbc.runtime.Result res)
              throws java.sql.SQLException

  Description copied from class: `FieldMapping`
  Load virtual row data; the given result is not guaranteed to contain data for this field, so the field mapping should make sure the result contains its needed column data before loading.

  Specified by:
    `load` in class `FieldMapping`
    `java.sql.SQLException`

### insert

    public void insert(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm,
                       com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager rm)
                throws java.sql.SQLException

  Description copied from class: `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.

  Specified by:
    `insert` in class `Mapping`
    `java.sql.SQLException`

### update

    public void update(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm,
                       com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager rm)
                throws java.sql.SQLException

  Description copied from class: `Mapping`
  Set values for the mapping into the proper rows.

  Specified by:
    `update` in class `Mapping`
    `java.sql.SQLException`
  See Also:
    `Mapping.insert(com.solarmetric.rd.kodo.runtime.StateManagerImpl, com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager)`

### nullEmbedded

    public void nullEmbedded(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm,
                             com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager rm)
                      throws java.sql.SQLException

  Description copied from class: `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 `FieldMapping`
    `java.sql.SQLException`
  See Also:
    `Mapping.insert(com.solarmetric.rd.kodo.runtime.StateManagerImpl, com.solarmetric.rd.kodo.impl.jdbc.runtime.RowManager)`

### newCollection

    protected java.util.Collection newCollection(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm)

  Return a new collection to fill with loaded data, taking into account the stored comparator metadata, if any.

### newMap

    protected java.util.Map newMap(com.solarmetric.rd.kodo.runtime.StateManagerImpl sm)

  Return a new map to fill with loaded data, taking into account the stored comparator metadata, if any.

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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