Class ElementEmbedValueHandler
- java.lang.Object
-
- org.apache.openjpa.jdbc.meta.strats.AbstractValueHandler
-
- org.apache.openjpa.jdbc.meta.strats.EmbedValueHandler
-
- org.apache.openjpa.jdbc.meta.strats.ElementEmbedValueHandler
-
- All Implemented Interfaces:
java.io.Serializable
,RelationId
,ValueHandler
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
.- Since:
- 0.4.0, 1.1.0
- Author:
- Abe White
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ElementEmbedValueHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.Object
getResultArgument(ValueMapping vm)
Return the argument to pass to the result set when loading data viaResult.getObject(java.lang.Object, int, java.lang.Object)
, or null if none.Column[]
map(ValueMapping vm, java.lang.String name, ColumnIO io, boolean adapt)
Deprecated.Column[]
map(ValueMapping vm, DBIdentifier name, ColumnIO io, boolean adapt)
boolean
objectValueRequiresLoad(ValueMapping vm)
Return whether this handler potentially must load extra data to extract the object value from its datastore representation.java.lang.Object
toDataStoreValue(ValueMapping vm, java.lang.Object val, JDBCStore store)
Translate the given value to its datastore equivalent.java.lang.Object
toObjectValue(ValueMapping vm, java.lang.Object val, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch)
Translate the given datastore value into its Java equivalent.java.lang.Object
toRelationDataStoreValue(OpenJPAStateManager sm, Column col)
Return the serialized value for the given related object, now that its id has been assigned.-
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.EmbedValueHandler
getEmbeddedIdCols, getIdColumns, map, map, toDataStoreValue, toDataStoreValue1, toObjectValue, toObjectValue1
-
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractValueHandler
isVersionable, toObjectValue
-
-
-
-
Method Detail
-
map
@Deprecated public Column[] map(ValueMapping vm, java.lang.String name, ColumnIO io, boolean adapt)
Deprecated.Description copied from interface:ValueHandler
Map the given value and return all mapped columns, or simply return an array of unmapped default columns. The columns should have at least theirName
andJavaType
properties set.- Specified by:
map
in interfaceValueHandler
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 schema
-
map
public Column[] map(ValueMapping vm, DBIdentifier name, ColumnIO io, boolean adapt)
-
objectValueRequiresLoad
public boolean objectValueRequiresLoad(ValueMapping vm)
Description copied from interface:ValueHandler
Return whether this handler potentially must load extra data to extract the object value from its datastore representation.- Specified by:
objectValueRequiresLoad
in interfaceValueHandler
- Overrides:
objectValueRequiresLoad
in classAbstractValueHandler
-
getResultArgument
public java.lang.Object getResultArgument(ValueMapping vm)
Description copied from interface:ValueHandler
Return the argument to pass to the result set when loading data viaResult.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.- Specified by:
getResultArgument
in interfaceValueHandler
- Overrides:
getResultArgument
in classAbstractValueHandler
-
toDataStoreValue
public java.lang.Object toDataStoreValue(ValueMapping vm, java.lang.Object val, JDBCStore store)
Description copied from interface:ValueHandler
Translate the given value to its datastore equivalent. If this value occupies multiple columns, return an object array with one element per column. For relation id columns, return the state manager the column depends on.- Specified by:
toDataStoreValue
in interfaceValueHandler
- Overrides:
toDataStoreValue
in classAbstractValueHandler
-
toObjectValue
public java.lang.Object toObjectValue(ValueMapping vm, java.lang.Object val, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) throws java.sql.SQLException
Description copied from interface:ValueHandler
Translate the given datastore value into its Java equivalent. If the value occupies multiple columns, the given object will be an object array with one entry per column. This method is only called ifValueHandler.objectValueRequiresLoad(org.apache.openjpa.jdbc.meta.ValueMapping)
returns true.- Specified by:
toObjectValue
in interfaceValueHandler
- Overrides:
toObjectValue
in classAbstractValueHandler
sm
- the state manager that owns the value; may be null if loading a projection- Throws:
java.sql.SQLException
-
toRelationDataStoreValue
public java.lang.Object toRelationDataStoreValue(OpenJPAStateManager sm, Column col)
Description copied from interface:RelationId
Return the serialized value for the given related object, now that its id has been assigned.- Specified by:
toRelationDataStoreValue
in interfaceRelationId
-
-