|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.openjpa.jdbc.meta.strats.AbstractStrategy
org.apache.openjpa.jdbc.meta.strats.AbstractFieldStrategy
org.apache.openjpa.jdbc.meta.strats.ContainerFieldStrategy
org.apache.openjpa.jdbc.meta.strats.StoreCollectionFieldStrategy
org.apache.openjpa.jdbc.meta.strats.RelationToManyInverseKeyFieldStrategy
org.apache.openjpa.jdbc.meta.strats.RelationMapInverseKeyFieldStrategy
public class RelationMapInverseKeyFieldStrategy
Uses an inverse foreign key in the table of the map value to determine map values. Derives map keys from a field in each value.
| Field Summary |
|---|
| Fields inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractFieldStrategy |
|---|
field |
| Constructor Summary | |
|---|---|
RelationMapInverseKeyFieldStrategy()
|
|
| Method Summary | |
|---|---|
protected void |
add(JDBCStore store,
Object coll,
Object obj)
Add an item to the data structure representing a field value. |
Object |
deriveKey(JDBCStore store,
Object value)
Some mapping derive keys from map values. |
Object |
deriveValue(JDBCStore store,
Object key)
Some mapping derive values from map keys. |
FieldMapping |
getFieldMapping()
The owning field mapping. |
ClassMapping[] |
getIndependentKeyMappings(boolean traverse)
Return all independent mappings to which this strategy must join in order to access map keys, or empty array if none. |
ClassMapping[] |
getIndependentValueMappings(boolean traverse)
Return all independent mappings to which this strategy must join in order to access map values, or empty array if none. |
ForeignKey |
getJoinForeignKey(ClassMapping cls)
Return the foreign key used to join to the owning field for the given element mapping from ContainerFieldStrategy.getIndependentElementMappings(boolean) (or null). |
Column[] |
getKeyColumns(ClassMapping cls)
Return the columns holding data for a map key for the given key mapping from LRSMapFieldStrategy.getIndependentKeyMappings(boolean) or
LRSMapFieldStrategy.getIndependentValueMappings(boolean) (or null). |
Result[] |
getResults(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
int eagerMode,
Joins[] joins,
boolean lrs)
Return results containing all keys and values for this map. |
Column[] |
getValueColumns(ClassMapping cls)
Return the columns holding data for a map value for the given value mapping from LRSMapFieldStrategy.getIndependentKeyMappings(boolean) or
LRSMapFieldStrategy.getIndependentValueMappings(boolean) (or null). |
Joins |
joinKey(Joins joins,
boolean forceOuter)
Join the key value to the class table. |
Joins |
joinKeyRelation(Joins joins,
boolean forceOuter,
boolean traverse)
Join this value's table to the table for the related first class object key type, if any. |
Joins |
joinKeyRelation(Joins joins,
ClassMapping key)
Join this value's table to the table for the given key mapping from LRSMapFieldStrategy.getIndependentKeyMappings(boolean) (or null). |
Joins |
joinValueRelation(Joins joins,
ClassMapping val)
Join this value's table to the table for the given value mapping from LRSMapFieldStrategy.getIndependentValueMappings(boolean) (or null). |
Object |
loadKey(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Result res,
Joins joins)
Load a key from the given result. |
Object |
loadValue(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Result res,
Joins joins)
Load a value from the given result. |
void |
map(boolean adapt)
Map the owning mapping using this strategy. |
protected Proxy |
newLRSProxy()
Return a large result set proxy for this field. |
void |
selectKey(Select sel,
ClassMapping key,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Joins joins)
Implement this method to select the keys of this field. |
void |
selectValue(Select sel,
ClassMapping val,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Joins joins)
Implement this method to select the values of this field. |
protected Collection |
toCollection(Object val)
Convert the field value to a collection. |
| Methods inherited from class org.apache.openjpa.jdbc.meta.strats.RelationToManyInverseKeyFieldStrategy |
|---|
delete, getIndependentElementMappings, initialize, insert, join, join, joinElementRelation, loadElement, selectElement, toDataStoreValue, update |
| Methods inherited from class org.apache.openjpa.jdbc.meta.strats.StoreCollectionFieldStrategy |
|---|
getJoinForeignKey, getObjectIdForJoin, isEagerSelectToMany, load, loadEagerJoin, loadEagerParallel, loadProjection, requiresOrderBy, selectAll, selectEagerJoin, selectEagerParallel, supportsSelect |
| Methods inherited from class org.apache.openjpa.jdbc.meta.strats.ContainerFieldStrategy |
|---|
appendIndex, appendIsEmpty, appendIsNotEmpty, appendIsNotNull, appendIsNull, appendJoinCount, appendSize, appendUnaliasedJoin |
| Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractFieldStrategy |
|---|
appendType, assertNotMappedBy, isVersionable, joinRelation, load, loadKeyProjection, select, setFieldMapping, toKeyDataStoreValue, where |
| Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractStrategy |
|---|
customDelete, customInsert, customUpdate, getAlias, isCustomDelete, isCustomInsert, isCustomUpdate |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.apache.openjpa.jdbc.meta.FieldStrategy |
|---|
appendIndex, appendIsEmpty, appendIsNotEmpty, appendIsNotNull, appendIsNull, appendSize, appendType, isEagerSelectToMany, isVersionable, join, joinRelation, load, load, loadEagerJoin, loadEagerParallel, loadKeyProjection, loadProjection, select, selectEagerJoin, selectEagerParallel, setFieldMapping, supportsSelect, toDataStoreValue, toKeyDataStoreValue, where |
| Methods inherited from interface org.apache.openjpa.jdbc.meta.Strategy |
|---|
customDelete, customInsert, customUpdate, delete, getAlias, initialize, insert, isCustomDelete, isCustomInsert, isCustomUpdate, update |
| Constructor Detail |
|---|
public RelationMapInverseKeyFieldStrategy()
| Method Detail |
|---|
public FieldMapping getFieldMapping()
LRSMapFieldStrategy
getFieldMapping in interface LRSMapFieldStrategypublic ClassMapping[] getIndependentKeyMappings(boolean traverse)
LRSMapFieldStrategy
getIndependentKeyMappings in interface LRSMapFieldStrategyValueMapping.getIndependentTypeMappings(),
ClassMapping.EMPTY_MAPPINGSpublic ClassMapping[] getIndependentValueMappings(boolean traverse)
LRSMapFieldStrategy
getIndependentValueMappings in interface LRSMapFieldStrategyValueMapping.getIndependentTypeMappings(),
ClassMapping.EMPTY_MAPPINGSpublic Column[] getKeyColumns(ClassMapping cls)
LRSMapFieldStrategyLRSMapFieldStrategy.getIndependentKeyMappings(boolean) or
LRSMapFieldStrategy.getIndependentValueMappings(boolean) (or null).
getKeyColumns in interface LRSMapFieldStrategypublic Column[] getValueColumns(ClassMapping cls)
LRSMapFieldStrategyLRSMapFieldStrategy.getIndependentKeyMappings(boolean) or
LRSMapFieldStrategy.getIndependentValueMappings(boolean) (or null).
getValueColumns in interface LRSMapFieldStrategypublic ForeignKey getJoinForeignKey(ClassMapping cls)
StoreCollectionFieldStrategyContainerFieldStrategy.getIndependentElementMappings(boolean) (or null).
getJoinForeignKey in interface LRSMapFieldStrategygetJoinForeignKey in class RelationToManyInverseKeyFieldStrategy
public void selectKey(Select sel,
ClassMapping key,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Joins joins)
LRSMapFieldStrategyLRSMapFieldStrategy.loadKey(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Result, org.apache.openjpa.jdbc.sql.Joins).
This method is only used if the key is not derived from the value.
selectKey in interface LRSMapFieldStrategy
public Object loadKey(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Result res,
Joins joins)
throws SQLException
LRSMapFieldStrategy
loadKey in interface LRSMapFieldStrategySQLException
public Object deriveKey(JDBCStore store,
Object value)
LRSMapFieldStrategy
deriveKey in interface LRSMapFieldStrategy
public Object deriveValue(JDBCStore store,
Object key)
LRSMapFieldStrategy
deriveValue in interface LRSMapFieldStrategy
public void selectValue(Select sel,
ClassMapping val,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Joins joins)
LRSMapFieldStrategyLRSMapFieldStrategy.loadValue(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Result, org.apache.openjpa.jdbc.sql.Joins).
selectValue in interface LRSMapFieldStrategy
public Object loadValue(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Result res,
Joins joins)
throws SQLException
LRSMapFieldStrategy
loadValue in interface LRSMapFieldStrategySQLException
public Result[] getResults(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
int eagerMode,
Joins[] joins,
boolean lrs)
throws SQLException
LRSMapFieldStrategyLRSMapFieldStrategy.loadKey(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Result, org.apache.openjpa.jdbc.sql.Joins) or
LRSMapFieldStrategy.deriveKey(org.apache.openjpa.jdbc.kernel.JDBCStore, java.lang.Object) and LRSMapFieldStrategy.loadValue(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Result, org.apache.openjpa.jdbc.sql.Joins) methods.
getResults in interface LRSMapFieldStrategySQLException
public Joins joinKeyRelation(Joins joins,
ClassMapping key)
LRSMapFieldStrategyLRSMapFieldStrategy.getIndependentKeyMappings(boolean) (or null).
joinKeyRelation in interface LRSMapFieldStrategy
public Joins joinKeyRelation(Joins joins,
boolean forceOuter,
boolean traverse)
FieldStrategy
joinKeyRelation in interface FieldStrategyjoinKeyRelation in class AbstractFieldStrategytraverse - if true, throw proper exception if it is not
possible for this mapping to traverse into the related type
public Joins joinValueRelation(Joins joins,
ClassMapping val)
LRSMapFieldStrategyLRSMapFieldStrategy.getIndependentValueMappings(boolean) (or null).
joinValueRelation in interface LRSMapFieldStrategyprotected Proxy newLRSProxy()
StoreCollectionFieldStrategy
newLRSProxy in class StoreCollectionFieldStrategy
protected void add(JDBCStore store,
Object coll,
Object obj)
StoreCollectionFieldStrategy
add in class StoreCollectionFieldStrategyprotected Collection toCollection(Object val)
StoreCollectionFieldStrategy
toCollection in class StoreCollectionFieldStrategypublic void map(boolean adapt)
Strategy
map in interface Strategymap in class RelationToManyInverseKeyFieldStrategyadapt - if true, use the owning mapping's raw mapping info
to set its ORM data; if false, ORM data will already be set
public Joins joinKey(Joins joins,
boolean forceOuter)
FieldStrategy
joinKey in interface FieldStrategyjoinKey in class AbstractFieldStrategy
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||