org.apache.openjpa.jdbc.meta
Interface Embeddable

All Known Implementing Classes:
EmbedFieldStrategy, HandlerFieldStrategy, PrimitiveFieldStrategy, RelationFieldStrategy, StringFieldStrategy

public interface Embeddable

Interface for field strategies that can managed fields of embedded-element, embedded-key, and embedded-value objects. Fields of directly embedded objects do not have to implement this interface.

Since:
0.4.0
Author:
Abe White

Field Summary
static Object UNSUPPORTED
           
 
Method Summary
 ColumnIO getColumnIO()
          Return column I/O information for this mapping.
 Column[] getColumns()
          Return the columns used by this strategy.
 Object[] getResultArguments()
          Return the arguments needed to extract datastore values via Result.getObject(java.lang.Object, int, java.lang.Object) for each column.
 void loadEmbedded(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Object val)
          Load this strategy's field by transforming the given datastore value.
 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.
 

Field Detail

UNSUPPORTED

static final Object UNSUPPORTED
Method Detail

getColumns

Column[] getColumns()
Return the columns used by this strategy.


getColumnIO

ColumnIO getColumnIO()
Return column I/O information for this mapping.


getResultArguments

Object[] getResultArguments()
Return the arguments needed to extract datastore values via Result.getObject(java.lang.Object, int, java.lang.Object) for each column.


toEmbeddedDataStoreValue

Object toEmbeddedDataStoreValue(Object val,
                                JDBCStore store)
Convert the given Java value to its datastore equivalent. If this mapping occupies multiple columns, return an object array with one element per column. For relation id columns, return the state manager the column depends on.


toEmbeddedObjectValue

Object toEmbeddedObjectValue(Object val)
Convert the given datastore value to its Java equivalent. If 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 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 UNSUPPORTED if this mapping cannot support this method.


loadEmbedded

void loadEmbedded(OpenJPAStateManager sm,
                  JDBCStore store,
                  JDBCFetchConfiguration fetch,
                  Object val)
                  throws SQLException
Load this strategy's field by transforming the given datastore value. If 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.

Throws:
SQLException


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.