Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## kodo.jdbc.schema
Class ForeignKey

    java.lang.Object
      |
      +--kodo.jdbc.schema.ReferenceCounter
            |
            +--kodo.jdbc.schema.Constraint
                  |
                  +--kodo.jdbc.schema.ForeignKey

public class ForeignKey
extends Constraint

Represents a database foreign key; may be a logical key with no database representation. This class is closely aligned with the foreign key information available from `DatabaseMetaData`.

Field Summary
`static int` | `ACTION_CASCADE` Cascade any modification of the joined primary key columns to this table.
`static int` | `ACTION_DEFAULT` Set the local columns to their default values if the primary key columns are modified.
`static int` | `ACTION_EXCEPTION` Throw an exception if joined primary key columns are modified.
`static int` | `ACTION_NONE` Logical foreign key; links columns, but does not perform any action when the joined primary key columns are modified.
`static int` | `ACTION_NULL` Null the local columns if the joined primary key columns are modified.

Constructor Summary
`ForeignKey()` Default constructor.
`ForeignKey(String name, Table table)` Constructor.

Method Summary
`boolean` | `columnsMatch(Column[] fkCols, Column[] fkPKCols)` Return true if the given local and foreign columns match those on this key.
`boolean` | `containsColumn(Column col)` Return true if the fk includes the given local column.
`boolean` | `containsConstantColumn(Column col)` Return true if the fk includes the given local column.
`boolean` | `containsConstantPrimaryKeyColumn(Column col)` Return true if the fk includes the given primary key column.
`boolean` | `containsPrimaryKeyColumn(Column col)` Return true if the fk includes the given primary key column.
`void` | `derefColumns()` Deref all columns in this key.
`boolean` | `equalsForeignKey(ForeignKey fk)` Foreign keys are equal if the satisfy the equality constraints of `Constraint` and they have the same local and primary key columns and action.
`Column` | `getColumn(Column pk)` Return the local column joined to the given primary key column.
`Column[]` | `getColumns()` Return the local columns in the foreign key local table order.
`Object` | `getConstant(Column local)` Return the constant value assigned to the given local column.
`Column[]` | `getConstantColumns()` Return the local columns that we link to using constant values.
`Column[]` | `getConstantPrimaryKeyColumns()` Return the primary key columns that we link to using constant values.
`Object[]` | `getConstants()` Return the constant values assigned to the local columns returned by `getConstantColumns()`.
`int` | `getDeleteAction()` Return the delete action for the key.
`int` | `getIndex()` Return the foreign key's 0-based index in the owning table.
`int` | `getKeySequence()` The sequence of this join in the foreign key.
`Column` | `getPrimaryKeyColumn(Column local)` Return the primary key column joined to the given local column.
`String` | `getPrimaryKeyColumnName()` The name of the primary key column.
`Column[]` | `getPrimaryKeyColumns()` Return the foreign columns in the foreign key, in join-order with the result of `getColumns()`.
`Object` | `getPrimaryKeyConstant(Column pk)` Return the constant value assigned to the given primary key column.
`Object[]` | `getPrimaryKeyConstants()` Return the constant values assigned to the primary key columns returned by `getConstantPrimaryKeyColumns()`.
`String` | `getPrimaryKeySchemaName()` The name of the primary key table's schema.
`Table` | `getPrimaryKeyTable()` Returns the table this foreign key is linking to, if it is known yet.
`String` | `getPrimaryKeyTableName()` The name of the primary key table.
`boolean` | `isLogical()` Return whether this constraint is a logical constraint only; i.e.
`boolean` | `isPrimaryKeyAutoIncrement()` Whether the primary key columns of this key are auto-incrementing.
`void` | `join(Column local, Column toPK)` Join a local column to a primary key column of another table.
`void` | `joinConstant(Column col, Object val)` Join a constant value to a local column of this table.
`void` | `joinConstant(Object val, Column toPK)` Join a constant value to a primary key column of another table.
`void` | `refColumns()` Ref all columns in this key.
`boolean` | `removeJoin(Column col)` Remove any joins inolving the given column.
`void` | `setConstantJoins(Column[] cols, Object[] consts)` Set the foreign key's constant joins.
`void` | `setConstantJoins(Object[] consts, Column[] pkCols)` Set the foreign key's constant joins.
`void` | `setDeleteAction(int action)` Set the delete action for the key.
`void` | `setJoins(Column[] cols, Column[] pkCols)` Set the foreign key's joins.
`void` | `setKeySequence(int seq)` The sequence of this join in the foreign key.
`void` | `setPrimaryKeyColumnName(String pkColumnName)` The name of the primary key column.
`void` | `setPrimaryKeySchemaName(String pkSchemaName)` The name of the primary key table's schema.
`void` | `setPrimaryKeyTableName(String pkTableName)` The name of the primary key table.

Methods inherited from class kodo.jdbc.schema.Constraint
`deref, getColumnName, getFullName, getName, getRefCount, getSchemaName, getTable, getTableName, isDeferred, ref, setColumnName, setDeferred, setName, setSchemaName, setTableName, toString`

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

Field Detail

### ACTION_NONE

    public static final int ACTION_NONE

  Logical foreign key; links columns, but does not perform any action when the joined primary key columns are modified.

### ACTION_EXCEPTION

    public static final int ACTION_EXCEPTION

  Throw an exception if joined primary key columns are modified.

### ACTION_CASCADE

    public static final int ACTION_CASCADE

  Cascade any modification of the joined primary key columns to this table. If the joined primary key row is deleted, the row in this table will also be deleted.

### ACTION_NULL

    public static final int ACTION_NULL

  Null the local columns if the joined primary key columns are modified.

### ACTION_DEFAULT

    public static final int ACTION_DEFAULT

  Set the local columns to their default values if the primary key columns are modified.

Constructor Detail

### ForeignKey

    public ForeignKey()

  Default constructor.

### ForeignKey

    public ForeignKey(String name,
                      Table table)

  Constructor.
  Parameters:
    `name` - the foreign key name, if any
    `table` - the local table of the foreign key

Method Detail

### isLogical

    public boolean isLogical()

  Description copied from class: `Constraint`
  Return whether this constraint is a logical constraint only; i.e. if it does not exist in the database.
  Overrides:
    `isLogical` in class `Constraint`

### isPrimaryKeyAutoIncrement

    public boolean isPrimaryKeyAutoIncrement()

  Whether the primary key columns of this key are auto-incrementing.

### getPrimaryKeyTableName

    public String getPrimaryKeyTableName()

  The name of the primary key table.

### setPrimaryKeyTableName

    public void setPrimaryKeyTableName(String pkTableName)

  The name of the primary key table. You can only set the primary key table name on foreign keys that have not already been joined.

### getPrimaryKeySchemaName

    public String getPrimaryKeySchemaName()

  The name of the primary key table's schema.

### setPrimaryKeySchemaName

    public void setPrimaryKeySchemaName(String pkSchemaName)

  The name of the primary key table's schema. You can only set the primary key schema name on foreign keys that have not already been joined.

### getPrimaryKeyColumnName

    public String getPrimaryKeyColumnName()

  The name of the primary key column.

### setPrimaryKeyColumnName

    public void setPrimaryKeyColumnName(String pkColumnName)

  The name of the primary key column. You can only set the primary key column name on foreign keys that have not already been joined.

### getKeySequence

    public int getKeySequence()

  The sequence of this join in the foreign key.

### setKeySequence

    public void setKeySequence(int seq)

  The sequence of this join in the foreign key.

### getDeleteAction

    public int getDeleteAction()

  Return the delete action for the key. Will be one of: `ACTION_NONE`, `ACTION_EXCEPTION`, `ACTION_CASCADE`, `ACTION_NULL`, `ACTION_DEFAULT`.

### setDeleteAction

    public void setDeleteAction(int action)

  Set the delete action for the key. Must be one of: `ACTION_NONE`, `ACTION_EXCEPTION`, `ACTION_CASCADE`, `ACTION_NULL`, `ACTION_DEFAULT`.

### getIndex

    public int getIndex()

  Return the foreign key's 0-based index in the owning table.

### getPrimaryKeyColumn

    public Column getPrimaryKeyColumn(Column local)

  Return the primary key column joined to the given local column.

### getColumn

    public Column getColumn(Column pk)

  Return the local column joined to the given primary key column.

### getConstant

    public Object getConstant(Column local)

  Return the constant value assigned to the given local column.

### getPrimaryKeyConstant

    public Object getPrimaryKeyConstant(Column pk)

  Return the constant value assigned to the given primary key column.

### getColumns

    public Column[] getColumns()

  Return the local columns in the foreign key local table order.

### getConstants

    public Object[] getConstants()

  Return the constant values assigned to the local columns returned by `getConstantColumns()`.

### getPrimaryKeyConstants

    public Object[] getPrimaryKeyConstants()

  Return the constant values assigned to the primary key columns returned by `getConstantPrimaryKeyColumns()`.

### containsColumn

    public boolean containsColumn(Column col)

  Return true if the fk includes the given local column.

### containsPrimaryKeyColumn

    public boolean containsPrimaryKeyColumn(Column col)

  Return true if the fk includes the given primary key column.

### containsConstantColumn

    public boolean containsConstantColumn(Column col)

  Return true if the fk includes the given local column.

### containsConstantPrimaryKeyColumn

    public boolean containsConstantPrimaryKeyColumn(Column col)

  Return true if the fk includes the given primary key column.

### getPrimaryKeyColumns

    public Column[] getPrimaryKeyColumns()

  Return the foreign columns in the foreign key, in join-order with the result of `getColumns()`.

### getConstantColumns

    public Column[] getConstantColumns()

  Return the local columns that we link to using constant values.

### getConstantPrimaryKeyColumns

    public Column[] getConstantPrimaryKeyColumns()

  Return the primary key columns that we link to using constant values.

### setJoins

    public void setJoins(Column[] cols,
                         Column[] pkCols)

  Set the foreign key's joins.

### setConstantJoins

    public void setConstantJoins(Object[] consts,
                                 Column[] pkCols)

  Set the foreign key's constant joins.

### setConstantJoins

    public void setConstantJoins(Column[] cols,
                                 Object[] consts)

  Set the foreign key's constant joins.

### join

    public void join(Column local,
                     Column toPK)

  Join a local column to a primary key column of another table.

### joinConstant

    public void joinConstant(Object val,
                             Column toPK)

  Join a constant value to a primary key column of another table. The constant must be either a string or a number.

### joinConstant

    public void joinConstant(Column col,
                             Object val)

  Join a constant value to a local column of this table. The constant must be either a string or a number.

### removeJoin

    public boolean removeJoin(Column col)

  Remove any joins inolving the given column.
  Returns:
    true if the join was removed, false if not part of the key

### getPrimaryKeyTable

    public Table getPrimaryKeyTable()

  Returns the table this foreign key is linking to, if it is known yet.

### refColumns

    public void refColumns()

  Ref all columns in this key.

### derefColumns

    public void derefColumns()

  Deref all columns in this key.

### equalsForeignKey

    public boolean equalsForeignKey(ForeignKey fk)

  Foreign keys are equal if the satisfy the equality constraints of `Constraint` and they have the same local and primary key columns and action.

### columnsMatch

    public boolean columnsMatch(Column[] fkCols,
                                Column[] fkPKCols)

  Return true if the given local and foreign columns match those on this key. This can be used to find foreign keys given only column linking information.

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.