Class ForeignKey

java.lang.Object
org.jumpmind.db.model.ForeignKey
All Implemented Interfaces:
Serializable, Cloneable

public class ForeignKey extends Object implements Cloneable, Serializable
Represents a database foreign key.
See Also:
  • Constructor Details

    • ForeignKey

      public ForeignKey()
      Creates a new foreign key object that has no name.
    • ForeignKey

      public ForeignKey(String name)
      Creates a new foreign key object.
      Parameters:
      name - The name of the foreign key
    • ForeignKey

      public ForeignKey(String name, String foreignKeyTableName)
      Creates a new foreign key object.
      Parameters:
      name - The name of the foreign key
      foreignKeyTableName - The name of the foreign key table
  • Method Details

    • getName

      public String getName()
      Returns the name of this foreign key.
      Returns:
      The name
    • setName

      public void setName(String name)
      Sets the name of this foreign key.
      Parameters:
      name - The name
    • getForeignTable

      public Table getForeignTable()
      Returns the foreign table.
      Returns:
      The foreign table
    • setForeignTable

      public void setForeignTable(Table foreignTable)
      Sets the foreign table.
      Parameters:
      foreignTable - The foreign table
    • getForeignTableName

      public String getForeignTableName()
      Returns the name of the foreign table.
      Returns:
      The table name
    • setForeignTableName

      public void setForeignTableName(String foreignTableName)
      Sets the name of the foreign table. Please note that you should not use this method when manually constructing or manipulating the database model. Rather utilize the setForeignTable(Table) method.
      Parameters:
      foreignTableName - The table name
    • getReferenceCount

      public int getReferenceCount()
      Returns the number of references.
      Returns:
      The number of references
    • getReference

      public Reference getReference(int idx)
      Returns the indicated reference.
      Parameters:
      idx - The index
      Returns:
      The reference
    • getReferences

      public Reference[] getReferences()
      Returns the references.
      Returns:
      The references
    • getFirstReference

      public Reference getFirstReference()
      Returns the first reference if it exists.
      Returns:
      The first reference
    • addReference

      public void addReference(Reference reference)
      Adds a reference, ie. a mapping between a local column (in the table that owns this foreign key) and a remote column.
      Parameters:
      reference - The reference to add
    • removeReference

      public void removeReference(Reference reference)
      Removes the given reference.
      Parameters:
      reference - The reference to remove
    • removeReference

      public void removeReference(int idx)
      Removes the indicated reference.
      Parameters:
      idx - The index of the reference to remove
    • hasLocalColumn

      public boolean hasLocalColumn(Column column)
      Determines whether this foreign key uses the given column as a local column in a reference.
      Parameters:
      column - The column to check
      Returns:
      true if a reference uses the column as a local column
    • hasForeignColumn

      public boolean hasForeignColumn(Column column)
      Determines whether this foreign key uses the given column as a foreign column in a reference.
      Parameters:
      column - The column to check
      Returns:
      true if a reference uses the column as a foreign column
    • isAutoIndexPresent

      public boolean isAutoIndexPresent()
      Determines whether this foreign key has an auto-generated associated index.
      Returns:
      true if an auto-generated index exists
    • setAutoIndexPresent

      public void setAutoIndexPresent(boolean autoIndexPresent)
      Specifies whether this foreign key has an auto-generated associated index.
      Parameters:
      autoIndexPresent - true if an auto-generated index exists
    • clone

      public Object clone() throws CloneNotSupportedException
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(ForeignKey otherFk)
      Compares this foreign key to the given one while ignoring the case of identifiers.
      Parameters:
      otherFk - The other foreign key
      Returns:
      true if this foreign key is equal (ignoring case) to the given one
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toVerboseString

      public String toVerboseString()
      Returns a verbose string representation of this foreign key.
      Returns:
      The string representation
    • getForeignTableCatalog

      public String getForeignTableCatalog()
    • setForeignTableCatalog

      public void setForeignTableCatalog(String foreignTableCatalog)
    • getForeignTableSchema

      public String getForeignTableSchema()
    • setForeignTableSchema

      public void setForeignTableSchema(String foreignTableSchema)
    • getOnDeleteAction

      public ForeignKey.ForeignKeyAction getOnDeleteAction()
    • setOnDeleteAction

      public void setOnDeleteAction(ForeignKey.ForeignKeyAction onDeleteAction)
    • getOnUpdateAction

      public ForeignKey.ForeignKeyAction getOnUpdateAction()
    • setOnUpdateAction

      public void setOnUpdateAction(ForeignKey.ForeignKeyAction onUpdateAction)
    • getForeignKeyAction

      public static ForeignKey.ForeignKeyAction getForeignKeyAction(short importedKeyAction)
    • getForeignKeyActionByForeignKeyActionName

      public static ForeignKey.ForeignKeyAction getForeignKeyActionByForeignKeyActionName(String foreignKeyActionName) throws IllegalArgumentException
      Throws:
      IllegalArgumentException