Class Index

  • All Implemented Interfaces:
    DbObject

    public class Index
    extends AbstractDbObject
    Represents an index on a table.
    Author:
    Matt Ward
    • Constructor Detail

      • Index

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

        public Index​(Table table,
                     java.lang.String name,
                     java.util.List<java.lang.String> columnNames)
        Parameters:
        table - the parent table
    • Method Detail

      • getColumnNames

        public java.util.List<java.lang.String> getColumnNames()
        Returns:
        the columnNames
      • setColumnNames

        public void setColumnNames​(java.util.List<java.lang.String> columnNames)
        Parameters:
        columnNames - the columnNames to set
      • isUnique

        public boolean isUnique()
        Does this index have the unique attribute?
        Returns:
        unique
      • setUnique

        public void setUnique​(boolean unique)
        Parameters:
        unique - boolean
        See Also:
        isUnique()
      • sameAs

        public boolean sameAs​(DbObject o)
        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:
        o - DbObject
        Returns:
        boolean
      • 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