Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.jdbc.meta
Interface ValueHandler

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  AbstractValueHandler, BlobValueHandler, ByteArrayValueHandler, CharArrayStreamValueHandler, CharArrayValueHandler, ClobValueHandler, ElementEmbedValueHandler, EmbedValueHandler, EnumValueHandler, ImmutableValueHandler, ObjectIdValueHandler, UntypedPCValueHandler, XMLValueHandler

    public interface ValueHandler

extends Serializable

Maps a value to a relational schema. Value handler are stateless.

Since:
  0.4.0
Author:
  Abe White

Method Summary
`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.
`boolean` | `isVersionable(ValueMapping vm)` Return whether the values managed by this handler can be used in state image versioning.
`Column[]` | `map(ValueMapping vm, String name, ColumnIO io, boolean adapt)` Map the given value and return all mapped columns, or simply return an array of unmapped default columns.
`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)` Translate the given datastore value into its Java equivalent.
`Object` | `toObjectValue(ValueMapping vm, Object val, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch)` Translate the given datastore value into its Java equivalent.

Method Detail

### map

    Column[] map(ValueMapping vm,
                 String name,
                 ColumnIO io,
                 boolean adapt)

  Map the given value and return all mapped columns, or simply return an array of unmapped default columns. The columns should have at least their `Name` and `JavaType` properties set.

  Parameters:
    `name` - use as a base to form column name(s); the column names of unmapped columns will automatically be made to fit database limitations
    `io` - I/O information about mapped columns; you do not have to set this information if returning templates
    `adapt` - whether to adapt the mapping or schema

### isVersionable

    boolean isVersionable(ValueMapping vm)

  Return whether the values managed by this handler can be used in state image versioning.

### objectValueRequiresLoad

    boolean objectValueRequiresLoad(ValueMapping vm)

  Return whether this handler potentially must load extra data to extract the object value from its datastore representation.

### getResultArgument

    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. 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.

### toDataStoreValue

    Object toDataStoreValue(ValueMapping vm,
                            Object val,
                            JDBCStore store)

  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.

### toObjectValue

    Object toObjectValue(ValueMapping vm,
                         Object val)

  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 if `objectValueRequiresLoad(org.apache.openjpa.jdbc.meta.ValueMapping)` returns false.

### toObjectValue

    Object toObjectValue(ValueMapping vm,
                         Object val,
                         OpenJPAStateManager sm,
                         JDBCStore store,
                         JDBCFetchConfiguration fetch)
                         throws SQLException

  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 if `objectValueRequiresLoad(org.apache.openjpa.jdbc.meta.ValueMapping)` returns true.

  Parameters:
    `sm` - the state manager that owns the value; may be null if loading a projection
  Throws:
    `SQLException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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