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
Class DelegatingJoinable

    java.lang.Object
      org.apache.openjpa.jdbc.meta.DelegatingJoinable

All Implemented Interfaces:
  Serializable, Joinable

    public class DelegatingJoinable

extends Object
implements Joinable

Delegates to another `Joinable` after doing column translation. Useful for joins that are not managed by any fields on the joined-from side. For example, a vertical class mapping manages foreign key columns linking to the superclass table. It needs to use the joinables of the superclass to actually extract the column values from field values and so forth, but in order for other mappings to join to its foreign key columns it needs joinables of its own. So it creates delegating joinables.

Author:
  Abe White
See Also:
  Serialized Form

Constructor Summary
`DelegatingJoinable(Joinable join, Column[] cols)` Constructor.
`DelegatingJoinable(Joinable join, ForeignKey fk)` Constructor.

Method Summary
`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 val, 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.
`void` | `setAutoAssignedValue(OpenJPAStateManager sm, JDBCStore store, Column col, Object autogen)` Use the given auto-assigned value to set this join value's field on the given instance.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DelegatingJoinable

    public DelegatingJoinable(Joinable join,
                              ForeignKey fk)

  Constructor.

  Parameters:
    `join` - the mapping to delegate to
    `fk` - the foreign key to use to translate any given columns to the given delegate's columns

### DelegatingJoinable

    public DelegatingJoinable(Joinable join,
                              Column[] cols)

  Constructor.

  Parameters:
    `join` - the mapping to delegate to
    `cols` - translated columns

Method Detail

### getFieldIndex

    public int getFieldIndex()

  Description copied from interface: `Joinable`
  Return the field index of this joinable, or -1 if not a field.

  Specified by:
    `getFieldIndex` in interface `Joinable`

### getPrimaryKeyValue

    public Object getPrimaryKeyValue(Result res,
                                     Column[] cols,
                                     ForeignKey fk,
                                     JDBCStore store,
                                     Joins joins)
                              throws SQLException

  Description copied from interface: `Joinable`
  Return the value for this joinable from the given result, using the given columns. If the given foreign key is non-null, use the foreign key's columns by translating the given columns through `ForeignKey.getColumn(org.apache.openjpa.jdbc.schema.Column)`.

  Specified by:
    `getPrimaryKeyValue` in interface `Joinable`
  Throws:
    `SQLException`

### getColumns

    public Column[] getColumns()

  Description copied from interface: `Joinable`
  The columns managed by this joinable.

  Specified by:
    `getColumns` in interface `Joinable`

### getJoinValue

    public Object getJoinValue(Object val,
                               Column col,
                               JDBCStore store)

  Description copied from interface: `Joinable`
  Return the join value of the given column.

  Specified by:
    `getJoinValue` in interface `Joinable`
  Parameters:
    `val` - the value of the field for this joinable
    `col` - the column of this joinable whose value to return

### getJoinValue

    public Object getJoinValue(OpenJPAStateManager sm,
                               Column col,
                               JDBCStore store)

  Description copied from interface: `Joinable`
  Return the join value of the given column.

  Specified by:
    `getJoinValue` in interface `Joinable`
  Parameters:
    `sm` - the instance from which to get the value
    `col` - the column whose value to return

### setAutoAssignedValue

    public void setAutoAssignedValue(OpenJPAStateManager sm,
                                     JDBCStore store,
                                     Column col,
                                     Object autogen)

  Description copied from interface: `Joinable`
  Use the given auto-assigned value to set this join value's field on the given instance.

  Specified by:
    `setAutoAssignedValue` in interface `Joinable`

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.