Package org.apache.torque.map

# Class ForeignKeyMap

java.lang.Object
org.apache.torque.map.ForeignKeyMap

All Implemented Interfaces:
  `Serializable`

public class ForeignKeyMap extends Object implements Serializable
ForeignKeyMap is used to model a foreign key in a database.

Version:
  $Id: ForeignKeyMap.java 1839288 2018-08-27 09:48:33Z tv $
See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `ForeignKeyMap.ColumnPair`
  A pair of local and Foreign column.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ForeignKeyMap(TableMap table, String foreignTableName)`
  Constructor.
  `ForeignKeyMap(TableMap table, TableMap foreignTable)`
  Constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addColumns(ForeignKeyMap.ColumnPair columnPair)`
  Adds a column pair to the foreign key.
  `List<ForeignKeyMap.ColumnPair>`
  `getColumns()`
  Returns the column pairs.
  `TableMap`
  `getForeignTable()`
  Returns the foreign table of the foreign key.
  `String`
  `getForeignTableName()`
  Returns name of the foreign table of the foreign key.
  `TableMap`
  `getTable()`
  Returns the local table of the foreign key.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ForeignKeyMap

    public ForeignKeyMap(TableMap table, TableMap foreignTable)
    Constructor.
    Parameters:
      `table` - the local table, not null.
      `foreignTable` - the foreign table, not null.
    Throws:
      `NullPointerException` - if an argument is null.

  - ### ForeignKeyMap

    public ForeignKeyMap(TableMap table, String foreignTableName)
    Constructor.
    Parameters:
      `table` - the local table, not null.
      `foreignTableName` - the name of the foreign table, not null.
    Throws:
      `NullPointerException` - if an argument is null.

- ## Method Details

  - ### addColumns

    public void addColumns(ForeignKeyMap.ColumnPair columnPair)
    Adds a column pair to the foreign key.
    Parameters:
      `columnPair` - the column pair to add, not null.

  - ### getTable

    public TableMap getTable()
    Returns the local table of the foreign key.
    Returns:
      the referencing table, not null.

  - ### getForeignTable

    public TableMap getForeignTable()
    Returns the foreign table of the foreign key.
    Returns:
      the referenced table, not null.
    Throws:
      `IllegalStateException` - if the foreign table map builder was not yet built.

  - ### getForeignTableName

    public String getForeignTableName()
    Returns name of the foreign table of the foreign key.
    Returns:
      the name of the referenced table, not null.

  - ### getColumns

    public List<ForeignKeyMap.ColumnPair> getColumns()
    Returns the column pairs.
    Returns:
      the column pairs, not null, as unmodifiable list.