SolarMetric Kodo JDO 2.5.8 generated on January 11 2004

com.solarmetric.kodo.impl.jdbc.ormapping
Class AbstractMapMapping

java.lang.Object
  |
  +--com.solarmetric.kodo.impl.jdbc.ormapping.Mapping
        |
        +--com.solarmetric.kodo.impl.jdbc.ormapping.FieldMapping
              |
              +--com.solarmetric.kodo.impl.jdbc.ormapping.AbstractMapMapping
All Implemented Interfaces:
Key, LoadSecondary, SecondaryTable, StoreSecondary
Direct Known Subclasses:
MapMapping, NToManyMapMapping

public abstract class AbstractMapMapping
extends FieldMapping
implements Key, LoadSecondary, StoreSecondary, SecondaryTable

Abstract mapping to be extended by concrete Map mapping types.


Field Summary
static String KEY_COL
          Metadata extension key used to mark the name of the key column for this map.
static String KEY_COL_INDEX
          Metadata extension key used to mark the key column as indexed.
static String KEY_COL_LENGTH
          Metadata extension key used to mark the key column length.
static String REF_COL
          Metadata extension key used to mark the name of the reference column for this map.
 
Fields inherited from class com.solarmetric.kodo.impl.jdbc.ormapping.FieldMapping
COL_INDEX, COL_LENGTH, DATA_COL, EMPTY_COLUMNS
 
Fields inherited from class com.solarmetric.kodo.impl.jdbc.ormapping.Mapping
_loc, _log, CUSTOM_MAPPING, dict, MAPPING, TABLE
 
Constructor Summary
AbstractMapMapping()
           
 
Method Summary
 void appendIsEmpty(QuerySQLBuffer sql, Joins joins)
          Create a where clause to the given statement asking if this value is empty.
 void appendIsNotNull(QuerySQLBuffer sql, Joins joins)
          Add a where clause to the given statement asking if this value is not null.
 void appendIsNull(QuerySQLBuffer sql, Joins joins)
          Add a where clause to the given statement asking if this value is null.
protected  boolean canMap(FieldMetaData fmd, ClassResolver resolver)
          Return true if this mapping type can handle the given field, false otherwise.
 void compareToNull(ObjectSelect sel, boolean isNull)
          Compare this column to null.
 void delete(StateManagerImpl sm, Object[] pks, int field, SQLExecutionManager sqlem)
          Delete the field from the secondary table for this mapping.
 Column getKeyColumn()
          Return the key in this map.
 Column[] getKeyColumns()
          Return the key columns of the mapping.
 Column[] getPKColumns()
          Return the primary key columns of the owning class.
 Column[] getRefColumns()
          Return the columns of the table this Collection is stored in which hold the PK values of the owning object.
 Table getSecondaryTable()
          Return the secondary table used by this mapping.
protected abstract  void insert(Insert insert, Object key, Object val, StateManagerImpl sm, Object[] pks, int field)
           
 void insert(StateManagerImpl sm, Object[] pks, int field, SQLExecutionManager sqlem)
          Insert the given field into the secondary table for this mapping.
protected  void install(FieldMetaData fmd, JDBCConfiguration conf, ClassResolver resolver, DBDictionary dict)
          Setup this FieldMapping using the given metadata.
 void join(Joins joins, PersistenceManagerImpl pm)
          Join this value to the class table.
 void joinKey(Joins joins, PersistenceManagerImpl pm)
          Join the key value to the class table.
 void select(QuerySelect sel)
          Select this mapping.
 void setKeyColumn(Column column)
          Set the key column for this map.
 void setPKColumns(Column[] val)
          Set the primary key columns of the owning class.
 void setRefColumns(Column[] val)
          Set the columns of the table this Collection is stored in which hold the PK values of the owning object.
 void update(StateManagerImpl sm, Object[] pks, int field, SQLExecutionManager sqlem)
          Update the given field into the secondary table for this mapping.
 
Methods inherited from class com.solarmetric.kodo.impl.jdbc.ormapping.FieldMapping
addColumn, addPKColumns, getDataColumns, getDataStoreValue, getInstance, getInstance, getKeyDataStoreValue, getMetaData, join, joinKeyRelation, joinRelation, setDataColumns
 
Methods inherited from class com.solarmetric.kodo.impl.jdbc.ormapping.Mapping
checkExtension, createMapping, createMapping, createMappings, createMappings, getClassName, getConfiguration, getDictionary, getFieldMapping, getInstance, getTable, install
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.solarmetric.kodo.impl.jdbc.ormapping.Key
joinKey
 
Methods inherited from interface com.solarmetric.kodo.impl.jdbc.ormapping.LoadSecondary
load
 

Field Detail

REF_COL

public static final String REF_COL
Metadata extension key used to mark the name of the reference column for this map.

KEY_COL

public static final String KEY_COL
Metadata extension key used to mark the name of the key column for this map.

KEY_COL_INDEX

public static final String KEY_COL_INDEX
Metadata extension key used to mark the key column as indexed.

KEY_COL_LENGTH

public static final String KEY_COL_LENGTH
Metadata extension key used to mark the key column length.
Constructor Detail

AbstractMapMapping

public AbstractMapMapping()
Method Detail

getRefColumns

public Column[] getRefColumns()
Return the columns of the table this Collection is stored in which hold the PK values of the owning object.

setRefColumns

public void setRefColumns(Column[] val)
Set the columns of the table this Collection is stored in which hold the PK values of the owning object.

getPKColumns

public Column[] getPKColumns()
Return the primary key columns of the owning class.

setPKColumns

public void setPKColumns(Column[] val)
Set the primary key columns of the owning class.

getKeyColumn

public Column getKeyColumn()
Return the key in this map.

setKeyColumn

public void setKeyColumn(Column column)
Set the key column for this map.

compareToNull

public void compareToNull(ObjectSelect sel,
                          boolean isNull)
Description copied from class: FieldMapping
Compare this column to null. For basic primary table mappings, the default definition of this method will suffice. More complex mappings should override this method.
Overrides:
compareToNull in class FieldMapping

insert

public void insert(StateManagerImpl sm,
                   Object[] pks,
                   int field,
                   SQLExecutionManager sqlem)
            throws SQLException
Description copied from interface: StoreSecondary
Insert the given field into the secondary table for this mapping.
Specified by:
insert in interface StoreSecondary

update

public void update(StateManagerImpl sm,
                   Object[] pks,
                   int field,
                   SQLExecutionManager sqlem)
            throws SQLException
Description copied from interface: StoreSecondary
Update the given field into the secondary table for this mapping.
Specified by:
update in interface StoreSecondary

delete

public void delete(StateManagerImpl sm,
                   Object[] pks,
                   int field,
                   SQLExecutionManager sqlem)
            throws SQLException
Description copied from interface: StoreSecondary
Delete the field from the secondary table for this mapping.
Specified by:
delete in interface StoreSecondary

insert

protected abstract void insert(Insert insert,
                               Object key,
                               Object val,
                               StateManagerImpl sm,
                               Object[] pks,
                               int field)
                        throws SQLException

canMap

protected boolean canMap(FieldMetaData fmd,
                         ClassResolver resolver)
Description copied from class: FieldMapping
Return true if this mapping type can handle the given field, false otherwise. Note that this method cannot rely on the existance of other Mappings, as it is used in bootstrapping.
Overrides:
canMap in class FieldMapping

install

protected void install(FieldMetaData fmd,
                       JDBCConfiguration conf,
                       ClassResolver resolver,
                       DBDictionary dict)
Description copied from class: FieldMapping
Setup this FieldMapping using the given metadata. Note that this method cannot rely on the existance of other Mappings, as it it is used in bootstrapping. This base implementation installs the proper extensions onto the metadata only; subclasses must override to properly map the type.
Overrides:
install in class FieldMapping

getSecondaryTable

public Table getSecondaryTable()
Description copied from interface: SecondaryTable
Return the secondary table used by this mapping.
Specified by:
getSecondaryTable in interface SecondaryTable

select

public void select(QuerySelect sel)
Description copied from class: FieldMapping
Select this mapping.
Overrides:
select in class FieldMapping

getKeyColumns

public Column[] getKeyColumns()
Description copied from class: FieldMapping
Return the key columns of the mapping.
Overrides:
getKeyColumns in class FieldMapping

appendIsEmpty

public void appendIsEmpty(QuerySQLBuffer sql,
                          Joins joins)
Description copied from class: FieldMapping
Create a where clause to the given statement asking if this value is empty.
Overrides:
appendIsEmpty in class FieldMapping

appendIsNull

public void appendIsNull(QuerySQLBuffer sql,
                         Joins joins)
Description copied from class: FieldMapping
Add a where clause to the given statement asking if this value is null.
Overrides:
appendIsNull in class FieldMapping

appendIsNotNull

public void appendIsNotNull(QuerySQLBuffer sql,
                            Joins joins)
Description copied from class: FieldMapping
Add a where clause to the given statement asking if this value is not null.
Overrides:
appendIsNotNull in class FieldMapping

join

public void join(Joins joins,
                 PersistenceManagerImpl pm)
Description copied from class: FieldMapping
Join this value to the class table.
Overrides:
join in class FieldMapping

joinKey

public void joinKey(Joins joins,
                    PersistenceManagerImpl pm)
Description copied from class: FieldMapping
Join the key value to the class table.
Overrides:
joinKey in class FieldMapping

SolarMetric Kodo JDO 2.5.8 generated on January 11 2004

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