Class Table

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<java.lang.Object>, SourceTracker

    public class Table
    extends NameSet
    implements java.lang.Comparable<java.lang.Object>, SourceTracker
    Represents a database table.
    Author:
    Abe White, Stephen Kim
    See Also:
    Serialized Form
    • Constructor Detail

      • Table

        public Table()
        Default constructor.
      • Table

        @Deprecated
        public Table​(java.lang.String name,
                     Schema schema)
        Deprecated.
        Constructor.
        Parameters:
        name - the table name
        schema - the table schema
    • Method Detail

      • setAssociation

        public void setAssociation()
      • isAssociation

        public boolean isAssociation()
      • getSchema

        public Schema getSchema()
        Return the schema for the table.
      • getSchemaName

        @Deprecated
        public java.lang.String getSchemaName()
        Deprecated.
        The table's schema name.
      • getSchemaIdentifier

        public DBIdentifier getSchemaIdentifier()
      • setSchemaName

        @Deprecated
        public void setSchemaName​(java.lang.String name)
        Deprecated.
        The table's schema name. You can only call this method on tables whose schema object is not set.
      • setSchemaIdentifier

        public void setSchemaIdentifier​(DBIdentifier name)
      • getName

        @Deprecated
        public java.lang.String getName()
        Deprecated.
        Return the name of the table.
      • setName

        @Deprecated
        public void setName​(java.lang.String name)
        Deprecated.
        Set the name of the table. This method can only be called on tables that are not part of a schema.
      • setIdentifier

        public void setIdentifier​(DBIdentifier name)
        Set the name of the table. This method can only be called on tables which are not part of a schema.
        Parameters:
        name - The name of the table.
        Throws:
        java.lang.IllegalStateException - if getSchema() does not return null.
      • getFullName

        @Deprecated
        public java.lang.String getFullName()
        Deprecated.
        Return the table name, including schema, using '.' as the catalog separator.
      • getFullIdentifier

        public DBIdentifier getFullIdentifier()
      • getSourceFile

        public java.io.File getSourceFile()
        Description copied from interface: SourceTracker
        Return the file from which this instance was parsed.
        Specified by:
        getSourceFile in interface SourceTracker
      • getSourceScope

        public java.lang.Object getSourceScope()
        Description copied from interface: SourceTracker
        Return the domain-dependent scope of this instance within its file.
        Specified by:
        getSourceScope in interface SourceTracker
      • setSource

        public void setSource​(java.io.File source,
                              int srcType)
      • getResourceName

        public java.lang.String getResourceName()
        Description copied from interface: SourceTracker
        Return the domain-meaningful name of the resource that was loaded from this source. I.e., if we had loaded the source for a Java class, this would return the name of the class.
        Specified by:
        getResourceName in interface SourceTracker
      • getColumns

        public Column[] getColumns()
        Return the table's columns, in alphabetical order.
      • getAutoAssignedColumns

        public Column[] getAutoAssignedColumns()
        Return this table's auto-assigned columns.
      • getRelationIdColumns

        public Column[] getRelationIdColumns()
        Return this table's relation id columns.
      • getColumnNames

        public java.lang.String[] getColumnNames()
        Return the list of column names, used only for informative (error) messages.
        Returns:
      • getColumn

        @Deprecated
        public Column getColumn​(java.lang.String name)
        Deprecated.
        Return the column with the given name, or null if none.
      • containsColumn

        public boolean containsColumn​(DBIdentifier name)
      • containsColumn

        public boolean containsColumn​(Column col)
      • addColumn

        @Deprecated
        public Column addColumn​(java.lang.String name)
        Deprecated.
        Add a column to the table.
      • addColumn

        @Deprecated
        public Column addColumn​(java.lang.String name,
                                java.lang.String validName)
        Deprecated.
        Add a column with a shortened (i.e., validated) name to the table
      • addCorrectedColumnName

        @Deprecated
        public void addCorrectedColumnName​(java.lang.String name,
                                           boolean validate)
        Deprecated.
        Add a name to this NameSet
      • addCorrectedColumnName

        public void addCorrectedColumnName​(DBIdentifier name,
                                           boolean validate)
      • removeColumn

        public boolean removeColumn​(Column col)
        Remove the given column from the table.
        Returns:
        true if the column was removed, false if not in the table
      • importColumn

        public Column importColumn​(Column col)
        Import a column from another table.
      • getPrimaryKey

        public PrimaryKey getPrimaryKey()
        Return the primary key for the table, if any.
      • addPrimaryKey

        public PrimaryKey addPrimaryKey()
        Set the primary key for the table.
      • addPrimaryKey

        @Deprecated
        public PrimaryKey addPrimaryKey​(java.lang.String name)
        Deprecated.
        Set the primary key for the table.
      • removePrimaryKey

        public boolean removePrimaryKey()
        Remove the primary key from this table.
        Returns:
        true if there was a pk to remove, false otherwise
      • importPrimaryKey

        public PrimaryKey importPrimaryKey​(PrimaryKey pk)
        Import a primary key; column names must match columns of this table.
      • getForeignKey

        @Deprecated
        public ForeignKey getForeignKey​(java.lang.String name)
        Deprecated.
        Return the foreign key with the given name. If multiple foreign keys have the name, the first match is returned.
      • getForeignKeys

        public ForeignKey[] getForeignKeys()
        Return all foreign keys for the table.
      • addForeignKey

        public ForeignKey addForeignKey()
        Add a foreign key to the table.
      • addForeignKey

        @Deprecated
        public ForeignKey addForeignKey​(java.lang.String name)
        Deprecated.
        Add a foreign key to the table. Duplicate key names are not allowed.
      • removeForeignKey

        public boolean removeForeignKey​(ForeignKey fk)
        Remove the given foreign key from the table.
        Returns:
        true if the key was removed, false if not in the table
      • importForeignKey

        public ForeignKey importForeignKey​(ForeignKey fk)
        Import a foreign key; column names must match columns of this table.
      • getIndexes

        public Index[] getIndexes()
        Return the table's indexes.
      • getIndex

        @Deprecated
        public Index getIndex​(java.lang.String name)
        Deprecated.
        Return the index with the given name, or null if none.
      • addIndex

        @Deprecated
        public Index addIndex​(java.lang.String name)
        Deprecated.
        Add an index to the table.
      • removeIndex

        public boolean removeIndex​(Index idx)
        Remove the given index from the table.
        Returns:
        true if the index was removed, false if not in the table
      • importIndex

        public Index importIndex​(Index idx)
        Import an index; column names must match columns of this table.
      • getUniques

        public Unique[] getUniques()
        Return the table's unique constraints.
      • getUnique

        @Deprecated
        public Unique getUnique​(java.lang.String name)
        Deprecated.
        Return the unique constraint with the given name, or null if none.
      • addUnique

        @Deprecated
        public Unique addUnique​(java.lang.String name)
        Deprecated.
        Add a unique constraint to the table.
      • removeUnique

        public boolean removeUnique​(Unique unq)
        Remove the given unique constraint from the table.
        Returns:
        true if the constraint was removed, false if not in the table
      • importUnique

        public Unique importUnique​(Unique unq)
        Import a constraint; column names must match columns of this table.
      • compareTo

        public int compareTo​(java.lang.Object other)
        Specified by:
        compareTo in interface java.lang.Comparable<java.lang.Object>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hasComment

        public boolean hasComment()
      • getComment

        public java.lang.String getComment()
      • setComment

        public void setComment​(java.lang.String comment)
      • getLineNumber

        public int getLineNumber()
        Description copied from interface: SourceTracker
        Return the line number of the file at which this instance was parsed.
        Specified by:
        getLineNumber in interface SourceTracker
      • setLineNumber

        public void setLineNumber​(int lineNum)
      • getColNumber

        public int getColNumber()
        Description copied from interface: SourceTracker
        Return the column number in the line of the file at which this instance was parsed.
        Specified by:
        getColNumber in interface SourceTracker
      • setColNumber

        public void setColNumber​(int colNum)