Class TableAlias

java.lang.Object
org.nuxeo.ecm.core.storage.sql.jdbc.db.TableAlias
All Implemented Interfaces:
Serializable, Table

public class TableAlias extends Object implements Table
An alias for an existing table. The returned columns are wrapped.
See Also:
  • Field Details

    • table

      protected final Table table
      The table this is an alias of.
    • alias

      protected final String alias
      The name (alias) used to refer to this table.
    • dialect

      protected final Dialect dialect
  • Constructor Details

    • TableAlias

      public TableAlias(Table table, String alias)
      Creates a table as an alias for another one.
  • Method Details

    • isAlias

      public boolean isAlias()
      Specified by:
      isAlias in interface Table
    • getRealTable

      public Table getRealTable()
      Specified by:
      getRealTable in interface Table
    • getDialect

      public Dialect getDialect()
      Specified by:
      getDialect in interface Table
    • getKey

      public String getKey()
      Specified by:
      getKey in interface Table
    • getPhysicalName

      public String getPhysicalName()
      Specified by:
      getPhysicalName in interface Table
    • getQuotedName

      public String getQuotedName()
      Specified by:
      getQuotedName in interface Table
    • getQuotedSuffixedName

      public String getQuotedSuffixedName(String suffix)
      Specified by:
      getQuotedSuffixedName in interface Table
    • toString

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

      public Column getColumn(String name)
      Specified by:
      getColumn in interface Table
    • getPrimaryColumn

      public Column getPrimaryColumn()
      Specified by:
      getPrimaryColumn in interface Table
    • getColumns

      public Collection<Column> getColumns()
      Specified by:
      getColumns in interface Table
    • addColumn

      public Column addColumn(String name, ColumnType type, String key, Model model)
      Description copied from interface: Table
      Adds a Column to the table.
      Specified by:
      addColumn in interface Table
    • addIndex

      public void addIndex(String... columnNames)
      Description copied from interface: Table
      Adds an index on one or several columns.
      Specified by:
      addIndex in interface Table
      Parameters:
      columnNames - the column names
    • addIndex

      public void addIndex(String indexName, Table.IndexType indexType, String... columnNames)
      Description copied from interface: Table
      Adds an index of the given name and type on one or several columns.
      Specified by:
      addIndex in interface Table
      Parameters:
      indexName - the index name
      indexType - the index type
      columnNames - the column names
    • hasFulltextIndex

      public boolean hasFulltextIndex()
      Description copied from interface: Table
      Checks if the table has some fulltext indexes.
      Specified by:
      hasFulltextIndex in interface Table
      Returns:
      true if the table has some fulltext indexes
    • getCreateSql

      public String getCreateSql()
      Description copied from interface: Table
      Computes the SQL statement to create the table.
      Specified by:
      getCreateSql in interface Table
      Returns:
      the SQL create string.
    • getAddColumnSql

      public String getAddColumnSql(Column column)
      Description copied from interface: Table
      Computes the SQL statement to alter a table and add a column to it.
      Specified by:
      getAddColumnSql in interface Table
      Parameters:
      column - the column to add
      Returns:
      the SQL alter table string
    • getPostCreateSqls

      public List<String> getPostCreateSqls(Model model)
      Description copied from interface: Table
      Computes the SQL statements to finish creating the table, usually some ALTER TABLE statements to add constraints or indexes.
      Specified by:
      getPostCreateSqls in interface Table
      Returns:
      the SQL strings
    • getPostAddSqls

      public List<String> getPostAddSqls(Column column, Model model)
      Description copied from interface: Table
      Computes the SQL statements to finish adding a column, usually some ALTER TABLE statements to add constraints or indexes.
      Specified by:
      getPostAddSqls in interface Table
      Returns:
      the SQL strings
    • getDropSql

      public String getDropSql()
      Description copied from interface: Table
      Computes the SQL statement to drop the table.

      TODO drop constraints and indexes

      Specified by:
      getDropSql in interface Table
      Returns:
      the SQL drop string.