Class ForeignKey

  • All Implemented Interfaces:
    DbObject

    public class ForeignKey
    extends AbstractDbObject
    Represents a foreign key on a database table (localColumn) that references targetTable.targetColumn
    Author:
    Matt Ward
    • Constructor Detail

      • ForeignKey

        public ForeignKey​(java.lang.String name)
      • ForeignKey

        public ForeignKey​(Table table,
                          java.lang.String fkName,
                          java.lang.String localColumn,
                          java.lang.String targetTable,
                          java.lang.String targetColumn)
        Constructor.
        Parameters:
        table - the parent table
        fkName - String
        localColumn - String
        targetTable - String
        targetColumn - String
    • Method Detail

      • getLocalColumn

        public java.lang.String getLocalColumn()
        Returns:
        the localColumn
      • setLocalColumn

        public void setLocalColumn​(java.lang.String localColumn)
        Parameters:
        localColumn - the localColumn to set
      • getTargetTable

        public java.lang.String getTargetTable()
        Returns:
        the targetTable
      • setTargetTable

        public void setTargetTable​(java.lang.String targetTable)
        Parameters:
        targetTable - the targetTable to set
      • getTargetColumn

        public java.lang.String getTargetColumn()
        Returns:
        the targetColumn
      • setTargetColumn

        public void setTargetColumn​(java.lang.String targetColumn)
        Parameters:
        targetColumn - the targetColumn to set
      • accept

        public void accept​(DbObjectVisitor visitor)
        Description copied from interface: DbObject
        Allows a visitor to be invoked against this DbObject. Implementations should ensure that child objects are visited first (by calling accept on them) before invoking the visitor on itself.
        Parameters:
        visitor - DbObjectVisitor
      • sameAs

        public boolean sameAs​(DbObject other)
        Description copied from interface: DbObject
        Are the two DbObjects logically the same? For example two Index objects may have different names, but are the same index as they both index the same columns for the same table.

        If two objects a and b have the same logical identity, it does not mean that a.equals(b) == true. The two objects may well have differences and will be flagged as such by the schema comparison tool. When a.sameAs(b) == true it makes it easier to show the differences as related, i.e. a and b are different rather than, a is only in the 'left' tree and b is only in the 'right' tree.

        Specified by:
        sameAs in interface DbObject
        Overrides:
        sameAs in class AbstractDbObject
        Parameters:
        other - DbObject
        Returns:
        boolean