public class ElementEmbedValueHandler extends EmbedValueHandler implements RelationId
Handler for embedded objects as elements of a collection or map. For
embedded objects as fields, use the more powerful
EmbedFieldStrategy
.
Constructor and Description |
---|
ElementEmbedValueHandler() |
Modifier and Type | Method and Description |
---|---|
Object |
getResultArgument(ValueMapping vm)
Return the argument to pass to the result set when loading data
via
Result.getObject(java.lang.Object, int, java.lang.Object) , or null if none. |
Column[] |
map(ValueMapping vm,
DBIdentifier name,
ColumnIO io,
boolean adapt) |
Column[] |
map(ValueMapping vm,
String name,
ColumnIO io,
boolean adapt)
Deprecated.
|
boolean |
objectValueRequiresLoad(ValueMapping vm)
Return whether this handler potentially must load extra data to extract
the object value from its datastore representation.
|
Object |
toDataStoreValue(ValueMapping vm,
Object val,
JDBCStore store)
Translate the given value to its datastore equivalent.
|
Object |
toObjectValue(ValueMapping vm,
Object val,
OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch)
Translate the given datastore value into its Java equivalent.
|
Object |
toRelationDataStoreValue(OpenJPAStateManager sm,
Column col)
Return the serialized value for the given related object, now that
its id has been assigned.
|
getEmbeddedIdCols, getIdColumns, map, map, toDataStoreValue, toDataStoreValue1, toObjectValue, toObjectValue1
isVersionable, toObjectValue
public Column[] map(ValueMapping vm, String name, ColumnIO io, boolean adapt)
ValueHandler
Name
and JavaType
properties set.map
in interface ValueHandler
name
- use as a base to form column name(s); the column names
of unmapped columns will automatically be made to fit
database limitationsio
- I/O information about mapped columns; you do not
have to set this information if returning templatesadapt
- whether to adapt the mapping or schemapublic Column[] map(ValueMapping vm, DBIdentifier name, ColumnIO io, boolean adapt)
public boolean objectValueRequiresLoad(ValueMapping vm)
ValueHandler
objectValueRequiresLoad
in interface ValueHandler
objectValueRequiresLoad
in class AbstractValueHandler
public Object getResultArgument(ValueMapping vm)
ValueHandler
Result.getObject(java.lang.Object, int, java.lang.Object)
, or null if none. If this value
occupies multiple columns, return an array with one element per
column. You may return null if all array elements would be null.getResultArgument
in interface ValueHandler
getResultArgument
in class AbstractValueHandler
public Object toDataStoreValue(ValueMapping vm, Object val, JDBCStore store)
ValueHandler
toDataStoreValue
in interface ValueHandler
toDataStoreValue
in class AbstractValueHandler
public Object toObjectValue(ValueMapping vm, Object val, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException
ValueHandler
ValueHandler.objectValueRequiresLoad(org.apache.openjpa.jdbc.meta.ValueMapping)
returns true.toObjectValue
in interface ValueHandler
toObjectValue
in class AbstractValueHandler
sm
- the state manager that owns the value; may be null if
loading a projectionSQLException
public Object toRelationDataStoreValue(OpenJPAStateManager sm, Column col)
RelationId
toRelationDataStoreValue
in interface RelationId
Copyright © 2006–2017 Apache Software Foundation. All rights reserved.