public class RelationFieldStrategy extends AbstractFieldStrategy implements Joinable, Embeddable
fieldUNSUPPORTED| Constructor and Description |
|---|
RelationFieldStrategy() |
| Modifier and Type | Method and Description |
|---|---|
void |
appendIsNotNull(SQLBuffer sql,
Select sel,
Joins joins)
Append a where clause to the given statement checking if this value
is not null.
|
void |
appendIsNull(SQLBuffer sql,
Select sel,
Joins joins)
Append a where clause to the given statement checking if this value
is null.
|
void |
delete(OpenJPAStateManager sm,
JDBCStore store,
RowManager rm)
Set the where values appropriately to delete the proper instance,
and set all relations on non-secondary tables as updates.
|
ColumnIO |
getColumnIO()
Return column I/O information for this mapping.
|
Column[] |
getColumns()
The columns managed by this joinable.
|
int |
getFieldIndex()
Return the field index of this joinable, or -1 if not a field.
|
Object |
getJoinValue(Object fieldVal,
Column col,
JDBCStore store)
Return the join value of the given column.
|
Object |
getJoinValue(OpenJPAStateManager sm,
Column col,
JDBCStore store)
Return the join value of the given column.
|
Object |
getPrimaryKeyValue(Result res,
Column[] cols,
ForeignKey fk,
JDBCStore store,
Joins joins)
Return the value for this joinable from the given result, using the
given columns.
|
Object[] |
getResultArguments()
Return the arguments needed to extract datastore values via
Result.getObject(java.lang.Object, int, java.lang.Object) for each column. |
void |
initialize()
Perform caching and other initialization operations.
|
void |
insert(OpenJPAStateManager sm,
JDBCStore store,
RowManager rm)
Set values for the mapping into the proper rows.
|
Joins |
join(Joins joins,
boolean forceOuter)
Join this value to the class table.
|
Joins |
joinRelation(Joins joins,
boolean forceOuter,
boolean traverse)
Join this value's table to the table for the related first class object
type, if any.
|
void |
load(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch)
Load secondary data using a connection from the store manager.
|
void |
load(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
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.
|
void |
loadEagerJoin(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Result res)
Load the joined eager result.
|
Object |
loadEagerParallel(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Object res)
Load the batched eager result.
|
void |
loadEmbedded(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Object val)
Load this strategy's field by transforming the given datastore value.
|
void |
map(boolean adapt)
Map the owning mapping using this strategy.
|
int |
select(Select sel,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
int eagerMode)
Select the virtual row columns of this mapping.
|
void |
selectEagerJoin(Select sel,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
int eagerMode)
Fill in joined select to related objects.
|
void |
selectEagerParallel(SelectExecutor sel,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
int eagerMode)
Fill in parallel eager select for related objects.
|
void |
setAutoAssignedValue(OpenJPAStateManager sm,
JDBCStore store,
Column col,
Object autoInc)
Use the given auto-assigned value to set this join value's field
on the given instance.
|
int |
supportsSelect(Select sel,
int type,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch)
Return whether this mapping can perform the given select type.
|
Object |
toDataStoreValue(Object val,
JDBCStore store)
Translate the given external field value to its datastore equivalent.
|
Object |
toEmbeddedDataStoreValue(Object val,
JDBCStore store)
Convert the given Java value to its datastore equivalent.
|
Object |
toEmbeddedObjectValue(Object val)
Convert the given datastore value to its Java equivalent.
|
void |
update(OpenJPAStateManager sm,
JDBCStore store,
RowManager rm)
Set values for the mapping into the proper rows.
|
appendIndex, appendIsEmpty, appendIsNotEmpty, appendSize, appendType, assertNotMappedBy, isEagerSelectToMany, isVersionable, joinKey, joinKeyRelation, loadKeyProjection, loadProjection, setFieldMapping, toKeyDataStoreValue, wherecustomDelete, customInsert, customUpdate, getAlias, isCustomDelete, isCustomInsert, isCustomUpdateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcustomDelete, customInsert, customUpdate, getAlias, isCustomDelete, isCustomInsert, isCustomUpdatepublic void map(boolean adapt)
Strategymap in interface Strategymap in class AbstractStrategyadapt - if true, use the owning mapping's raw mapping info
to set its ORM data; if false, ORM data will already be setpublic void initialize()
StrategyStrategy.map(boolean), and after all related components have been
mapped as well.initialize in interface Strategyinitialize in class AbstractStrategypublic void insert(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws SQLException
Strategyinsert in interface Strategyinsert in class AbstractStrategySQLExceptionpublic void update(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws SQLException
Strategyupdate in interface Strategyupdate in class AbstractStrategySQLExceptionStrategy.insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)public void delete(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws SQLException
Strategydelete in interface Strategydelete in class AbstractStrategySQLExceptionStrategy.insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)public int supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch)
FieldStrategysupportsSelect in interface FieldStrategysupportsSelect in class AbstractFieldStrategySelectpublic void selectEagerParallel(SelectExecutor sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
FieldStrategyselectEagerParallel in interface FieldStrategyselectEagerParallel in class AbstractFieldStrategyFieldStrategy.select(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, int)public void selectEagerJoin(Select sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
FieldStrategyselectEagerJoin in interface FieldStrategyselectEagerJoin in class AbstractFieldStrategyFieldStrategy.select(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, int)public int select(Select sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
FieldStrategyselect in interface FieldStrategyselect in class AbstractFieldStrategysel - the select to add tosm - the instance being loaded, or null if not
initialized yet or selecting for multiple instancesstore - the current store managerfetch - fetch configurationeagerMode - the eager fetch mode to use; this may be more
restrictive than the mode of the fetch configurationpublic Object loadEagerParallel(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Object res) throws SQLException
FieldStrategyloadEagerParallel in interface FieldStrategyloadEagerParallel in class AbstractFieldStrategyres - originally the Result to load from, but this
method may return a processed result form that will be
passed to subsequent callsSQLExceptionpublic void loadEagerJoin(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Result res) throws SQLException
FieldStrategyloadEagerJoin in interface FieldStrategyloadEagerJoin in class AbstractFieldStrategySQLExceptionpublic void load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Result res) throws SQLException
FieldStrategyload in interface FieldStrategyload in class AbstractFieldStrategySQLExceptionpublic void load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException
FieldStrategyload in interface FieldStrategyload in class AbstractFieldStrategySQLExceptionpublic Object toDataStoreValue(Object val, JDBCStore store)
FieldStrategytoDataStoreValue in interface FieldStrategytoDataStoreValue in class AbstractFieldStrategypublic void appendIsNull(SQLBuffer sql, Select sel, Joins joins)
FieldStrategyappendIsNull in interface FieldStrategyappendIsNull in class AbstractFieldStrategypublic void appendIsNotNull(SQLBuffer sql, Select sel, Joins joins)
FieldStrategyappendIsNotNull in interface FieldStrategyappendIsNotNull in class AbstractFieldStrategypublic Joins join(Joins joins, boolean forceOuter)
FieldStrategyjoin in interface FieldStrategyjoin in class AbstractFieldStrategypublic Joins joinRelation(Joins joins, boolean forceOuter, boolean traverse)
FieldStrategyjoinRelation in interface FieldStrategyjoinRelation in class AbstractFieldStrategytraverse - if true, throw proper exception if it is not
possible for this mapping to traverse into the related typepublic int getFieldIndex()
JoinablegetFieldIndex in interface Joinablepublic Object getPrimaryKeyValue(Result res, Column[] cols, ForeignKey fk, JDBCStore store, Joins joins) throws SQLException
JoinableForeignKey.getColumn(org.apache.openjpa.jdbc.schema.Column).getPrimaryKeyValue in interface JoinableSQLExceptionpublic Object getJoinValue(Object fieldVal, Column col, JDBCStore store)
JoinablegetJoinValue in interface JoinablefieldVal - the value of the field for this joinablecol - the column of this joinable whose value to returnpublic Object getJoinValue(OpenJPAStateManager sm, Column col, JDBCStore store)
JoinablegetJoinValue in interface Joinablesm - the instance from which to get the valuecol - the column whose value to returnpublic void setAutoAssignedValue(OpenJPAStateManager sm, JDBCStore store, Column col, Object autoInc)
JoinablesetAutoAssignedValue in interface Joinablepublic Column[] getColumns()
JoinablegetColumns in interface EmbeddablegetColumns in interface Joinablepublic ColumnIO getColumnIO()
EmbeddablegetColumnIO in interface Embeddablepublic Object[] getResultArguments()
EmbeddableResult.getObject(java.lang.Object, int, java.lang.Object) for each column.getResultArguments in interface Embeddablepublic Object toEmbeddedDataStoreValue(Object val, JDBCStore store)
EmbeddabletoEmbeddedDataStoreValue in interface Embeddablepublic Object toEmbeddedObjectValue(Object val)
EmbeddableEmbeddable.getColumns() returns multiple columns, the given datastore
value will be an object array of the corresponding length. This method
must only be supported by mappings of embedded id objects. In other
cases Embeddable.loadEmbedded(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, java.lang.Object) will be used instead. Return
Embeddable.UNSUPPORTED if this mapping cannot support this method.toEmbeddedObjectValue in interface Embeddablepublic void loadEmbedded(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Object val) throws SQLException
EmbeddableEmbeddable.getColumns() returns multiple columns, the given datastore
value will be an object array of the corresponding length. The value
does not have to be loaded immediately; it may be stored as impl data.loadEmbedded in interface EmbeddableSQLExceptionCopyright © 2006–2017 Apache Software Foundation. All rights reserved.