SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool

com.solarmetric.rd.kodo.impl.jdbc.meta.map
Class AbstractCollectionMapping

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
                                |
                                +--com.solarmetric.rd.kodo.impl.jdbc.meta.map.AbstractCollectionMapping
All Implemented Interfaces:
java.lang.Comparable, Extensions, FieldMetaData
Direct Known Subclasses:
ColumnCollectionMapping, ManyToManyMapping, OneToManyMapping

public abstract class AbstractCollectionMapping
extends ContainerMapping

Base class for collection mappings. Manages ordering 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
AbstractCollectionMapping(com.solarmetric.rd.kodo.meta.FieldMetaData meta)
          Constructor.
 
Method Summary
 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[] getKeyColumns()
          Return the key columns for this mapping, or empty array if none.
 com.solarmetric.rd.kodo.impl.jdbc.schema.Column getOrderColumn()
          Return the column holding the ordering data.
 void joinKey(com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)
          Join the key value to the class table.
 void joinKeyRelation(com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)
          Join this value's table to the table for the related first class object key type, if any.
protected  boolean map(com.solarmetric.rd.kodo.impl.jdbc.schema.Table table, boolean defaultOrder)
           
 void refSchemaComponents()
          Increment the reference count of all used schema components.
 void setOrderColumn(com.solarmetric.rd.kodo.impl.jdbc.schema.Column col)
          Set the column holding the ordering data.
protected  java.lang.Object toArray(java.util.Collection coll)
          Helper method to return the given collection as an array.
protected  java.util.Collection toCollection(java.lang.Object array)
          Helper method to return the given array as a collection.
 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.
 
Methods inherited from class com.solarmetric.rd.kodo.impl.jdbc.meta.map.ContainerMapping
appendIsEmpty, appendIsNotNull, appendIsNull, getMetaDataColumn, getVRowTable, insert, join, load, map, newCollection, newMap, nullEmbedded, select, selectVRowData, setMetaDataColumn, update
 
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, 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, 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

AbstractCollectionMapping

public AbstractCollectionMapping(com.solarmetric.rd.kodo.meta.FieldMetaData meta)
Constructor. Supply underlying metadata.

Method Detail

getOrderColumn

public com.solarmetric.rd.kodo.impl.jdbc.schema.Column getOrderColumn()
Return the column holding the ordering data.


setOrderColumn

public void setOrderColumn(com.solarmetric.rd.kodo.impl.jdbc.schema.Column col)
Set the column holding the ordering 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 ContainerMapping

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.

Overrides:
fromMappingInfo in class ContainerMapping

map

protected boolean map(com.solarmetric.rd.kodo.impl.jdbc.schema.Table table,
                      boolean defaultOrder)

refSchemaComponents

public void refSchemaComponents()
Description copied from class: Mapping
Increment the reference count of all used schema components.

Overrides:
refSchemaComponents in class ContainerMapping

joinKey

public void joinKey(com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)
Description copied from class: FieldMapping
Join the key value to the class table.

Specified by:
joinKey in class FieldMapping

joinKeyRelation

public void joinKeyRelation(com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins joins)
Description copied from class: FieldMapping
Join this value's table to the table for the related first class object key type, if any.

Specified by:
joinKeyRelation in class FieldMapping

getKeyColumns

public com.solarmetric.rd.kodo.impl.jdbc.schema.Column[] getKeyColumns()
Description copied from class: FieldMapping
Return the key columns for this mapping, or empty array if none.

Specified by:
getKeyColumns in class FieldMapping

toCollection

protected java.util.Collection toCollection(java.lang.Object array)
Helper method to return the given array as a collection.


toArray

protected java.lang.Object toArray(java.util.Collection coll)
Helper method to return the given collection as an array.


SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool

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