com.solarmetric.kodo.impl.jdbc.ormapping
Class OneToManyMapping
java.lang.Object
|
+--com.solarmetric.kodo.impl.jdbc.ormapping.Mapping
|
+--com.solarmetric.kodo.impl.jdbc.ormapping.FieldMapping
|
+--com.solarmetric.kodo.impl.jdbc.ormapping.AbstractCollectionMapping
|
+--com.solarmetric.kodo.impl.jdbc.ormapping.OneToManyMapping
- All Implemented Interfaces:
- LoadSecondary, Relation
- public class OneToManyMapping
- extends AbstractCollectionMapping
- implements Relation, LoadSecondary
Represents a 1-M relation with a persistent object type, where the
related persistent type has a 1-1 relation back to the owning type of
this FieldMapping. Thus, a 1-M mapping does not store any data itself,
and instead relies on the columns of the related type.
|
Method Summary |
protected boolean |
canMap(FieldMetaData fmd,
ClassResolver resolver)
Return true if this mapping type can handle the given field,
false otherwise. |
Object |
getDataStoreValue(Object val,
PersistenceManagerImpl pm)
Translate the given field value to its datastore equivalent. |
Column[] |
getRelationPKColumns()
Return the primary key column(s) of the related object. |
Class |
getRelationType()
Return the type the mapping relates to. |
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 |
join(ObjectSelect sel)
Join this mapping to the given select statement. |
void |
joinRelation(Joins joins,
PersistenceManagerImpl pm)
Join this value's table to the table for the related first class object
type, if any. |
void |
load(StateManagerImpl sm,
Object[] pks,
int field,
SQLExecutionManager sqlem)
Load the value of this mapping for the given instance. |
void |
setRelationPKColumns(Column[] val)
|
| Methods inherited from class com.solarmetric.kodo.impl.jdbc.ormapping.AbstractCollectionMapping |
addValueMatchCondition, appendIsEmpty, appendIsNotNull, appendIsNull, compareToNull, delete, fromArray, getInverse, getKeyColumns, getPKColumns, getRefColumns, insert, insert, joinKey, joinKeyRelation, select, setPKColumns, setRefColumns, toArray, update |
| 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 |
OneToManyMapping
public OneToManyMapping()
getRelationType
public Class getRelationType()
- Description copied from interface:
Relation
- Return the type the mapping relates to.
- Specified by:
getRelationType in interface Relation
getRelationPKColumns
public Column[] getRelationPKColumns()
- Description copied from interface:
Relation
- Return the primary key column(s) of the related object.
- Specified by:
getRelationPKColumns in interface Relation
setRelationPKColumns
public void setRelationPKColumns(Column[] val)
join
public void join(ObjectSelect sel)
- Description copied from class:
FieldMapping
- Join this mapping to the given select statement. For basic mappings,
this no-op method implementation will suffice. Secondary table
mappings should override this method to do the proper join.
- Overrides:
join in class FieldMapping
load
public void load(StateManagerImpl sm,
Object[] pks,
int field,
SQLExecutionManager sqlem)
throws SQLException
- Description copied from interface:
LoadSecondary
- Load the value of this mapping for the given instance.
Relations to other persistent types are loaded
as PersistenceCapable instances.
- Specified by:
load in interface LoadSecondary
- Following copied from interface:
com.solarmetric.kodo.impl.jdbc.ormapping.LoadSecondary
- Parameters:
stmnt - The caller is responsible for closing the statement.
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 AbstractCollectionMapping
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 AbstractCollectionMapping
getDataStoreValue
public Object getDataStoreValue(Object val,
PersistenceManagerImpl pm)
- Description copied from class:
FieldMapping
- Translate the given field value to its datastore equivalent. If the
mapping occupies multiple columns in the datastore, return an object
array, else return a single object. Simply returns the given object by
default.
- Overrides:
getDataStoreValue 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 AbstractCollectionMapping
joinRelation
public void joinRelation(Joins joins,
PersistenceManagerImpl pm)
- Description copied from class:
FieldMapping
- Join this value's table to the table for the related first class object
type, if any.
- Overrides:
joinRelation in class FieldMapping
Copyright 2001,2002,2003 SolarMetric, Inc. All Rights Reserved.