## org.eclipse.datatools.modelbase.sql.constraints
Interface ForeignKey

All Superinterfaces:
  Constraint, ReferenceConstraint, SQLObject, TableConstraint

All Known Implementing Classes:
  ForeignKeyImpl

public interface ForeignKey
extends ReferenceConstraint

A representation of the model object 'Foreign Key'. Reference: 5WD-02-Foundation-2002-12 4.17 Integrity constraints, Reference, 5WD-02-Foundation-2002-12 11.8 <referencial constraint definition>

The following features are supported:

- `Match`
- `On Update`
- `On Delete`
- `Unique Constraint`
- `Referenced Members`
- `Unique Index`
- `Referenced Table`

See Also:
  `SQLConstraintsPackage.getForeignKey()`

Method Summary
`MatchType` `getMatch()` Returns the value of the 'Match' attribute.
`ReferentialActionType` `getOnDelete()` Returns the value of the 'On Delete' attribute.
`ReferentialActionType` `getOnUpdate()` Returns the value of the 'On Update' attribute.
`EList` `getReferencedMembers()` Returns the value of the 'Referenced Members' reference list.
`BaseTable` `getReferencedTable()` Returns the value of the 'Referenced Table' reference.
`UniqueConstraint` `getUniqueConstraint()` Returns the value of the 'Unique Constraint' reference.
`Index` `getUniqueIndex()` Returns the value of the 'Unique Index' reference.
`void` `setMatch(MatchType value)` Sets the value of the '`Match`' attribute.
`void` `setOnDelete(ReferentialActionType value)` Sets the value of the '`On Delete`' attribute.
`void` `setOnUpdate(ReferentialActionType value)` Sets the value of the '`On Update`' attribute.
`void` `setReferencedTable(BaseTable value)` Sets the value of the '`Referenced Table`' reference.
`void` `setUniqueConstraint(UniqueConstraint value)` Sets the value of the '`Unique Constraint`' reference.
`void` `setUniqueIndex(Index value)` Sets the value of the '`Unique Index`' reference.

Methods inherited from interface org.eclipse.datatools.modelbase.sql.constraints.ReferenceConstraint
`getMembers`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.constraints.TableConstraint
`getBaseTable, setBaseTable`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.constraints.Constraint
`isDeferrable, isEnforced, isInitiallyDeferred, setDeferrable, setEnforced, setInitiallyDeferred`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.schema.SQLObject
`addEAnnotation, addEAnnotationDetail, getComments, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getLabel, removeEAnnotationDetail, setAnnotationDetail, setDescription, setLabel`

Method Detail

### getMatch

    public MatchType getMatch()

  Returns the value of the 'Match' attribute. The default value is `"MATCH_SIMPLE"`. The literals are from the enumeration `MatchType`.

  If the meaning of the 'Match' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Match' attribute.
  See Also:
    `MatchType`, `setMatch(MatchType)`, `SQLConstraintsPackage.getForeignKey_Match()`

### setMatch

    public void setMatch(MatchType value)

  Sets the value of the '`Match`' attribute.

  Parameters:
    `value` - the new value of the 'Match' attribute.
  See Also:
    `MatchType`, `getMatch()`

### getOnUpdate

    public ReferentialActionType getOnUpdate()

  Returns the value of the 'On Update' attribute. The default value is `"NO_ACTION"`. The literals are from the enumeration `ReferentialActionType`.

  If the meaning of the 'On Update' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'On Update' attribute.
  See Also:
    `ReferentialActionType`, `setOnUpdate(ReferentialActionType)`, `SQLConstraintsPackage.getForeignKey_OnUpdate()`

### setOnUpdate

    public void setOnUpdate(ReferentialActionType value)

  Sets the value of the '`On Update`' attribute.

  Parameters:
    `value` - the new value of the 'On Update' attribute.
  See Also:
    `ReferentialActionType`, `getOnUpdate()`

### getOnDelete

    public ReferentialActionType getOnDelete()

  Returns the value of the 'On Delete' attribute. The default value is `"NO_ACTION"`. The literals are from the enumeration `ReferentialActionType`.

  If the meaning of the 'On Delete' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'On Delete' attribute.
  See Also:
    `ReferentialActionType`, `setOnDelete(ReferentialActionType)`, `SQLConstraintsPackage.getForeignKey_OnDelete()`

### setOnDelete

    public void setOnDelete(ReferentialActionType value)

  Sets the value of the '`On Delete`' attribute.

  Parameters:
    `value` - the new value of the 'On Delete' attribute.
  See Also:
    `ReferentialActionType`, `getOnDelete()`

### getUniqueConstraint

    public UniqueConstraint getUniqueConstraint()

  Returns the value of the 'Unique Constraint' reference. It is bidirectional and its opposite is '`Foreign Key`'.

  If the meaning of the 'Unique Constraint' reference isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Unique Constraint' reference.
  See Also:
    `setUniqueConstraint(UniqueConstraint)`, `SQLConstraintsPackage.getForeignKey_UniqueConstraint()`, `UniqueConstraint.getForeignKey()`

### setUniqueConstraint

    public void setUniqueConstraint(UniqueConstraint value)

  Sets the value of the '`Unique Constraint`' reference.

  Parameters:
    `value` - the new value of the 'Unique Constraint' reference.
  See Also:
    `getUniqueConstraint()`

### getReferencedMembers

    public EList getReferencedMembers()

  Returns the value of the 'Referenced Members' reference list. The list contents are of type `Column`.

  If the meaning of the 'Referenced Members' reference list isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Referenced Members' reference list.
  See Also:
    `SQLConstraintsPackage.getForeignKey_ReferencedMembers()`

### getUniqueIndex

    public Index getUniqueIndex()

  Returns the value of the 'Unique Index' reference. It is bidirectional and its opposite is '`Foreign Key`'.

  If the meaning of the 'Unique Index' reference isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Unique Index' reference.
  See Also:
    `setUniqueIndex(Index)`, `SQLConstraintsPackage.getForeignKey_UniqueIndex()`, `Index.getForeignKey()`

### setUniqueIndex

    public void setUniqueIndex(Index value)

  Sets the value of the '`Unique Index`' reference.

  Parameters:
    `value` - the new value of the 'Unique Index' reference.
  See Also:
    `getUniqueIndex()`

### getReferencedTable

    public BaseTable getReferencedTable()

  Returns the value of the 'Referenced Table' reference. It is bidirectional and its opposite is '`Referencing Foreign Keys`'.

  If the meaning of the 'Referenced Table' reference isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Referenced Table' reference.
  See Also:
    `setReferencedTable(BaseTable)`, `SQLConstraintsPackage.getForeignKey_ReferencedTable()`, `BaseTable.getReferencingForeignKeys()`

### setReferencedTable

    public void setReferencedTable(BaseTable value)

  Sets the value of the '`Referenced Table`' reference.

  Parameters:
    `value` - the new value of the 'Referenced Table' reference.
  See Also:
    `getReferencedTable()`

Copyright © 2006 Actuate, IBM Corporation, Sybase, Inc. and others. All rights reserved.