Package adql.db

## Interface DBColumn

- All Known Implementing Classes:
    `DBCommonColumn`, `DefaultDBColumn`

      public interface DBColumn

  Definition of a valid target column.

  This column can be used in an ADQL query with its ADQL name (`getADQLName()`) and corresponds to a real column in the "database" with its DB name (`getDBName()`).

  Version:
    1.4 (07/2016)
  Author:
    Grégory Mantelet (CDS;ARI)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `DBColumn` | `copy​(java.lang.String dbName, java.lang.String adqlName, DBTable dbTable)` | Makes a copy of this instance of `DBColumn`.
    `java.lang.String` | `getADQLName()` | Gets the name of this column (without any prefix and double-quotes).
    `DBType` | `getDatatype()` | Get the type of this column (as closed as possible from the "database" type).
    `java.lang.String` | `getDBName()` | Gets the name of this column in the "database".
    `DBTable` | `getTable()` | Gets the table which contains this `DBColumn`.

- - ### Method Detail

    - #### getADQLName

          java.lang.String getADQLName()

      Gets the name of this column (without any prefix and double-quotes).
      Returns:
        Its ADQL name.

    - #### getDBName

          java.lang.String getDBName()

      Gets the name of this column in the "database".
      Returns:
        Its DB name.

    - #### getDatatype

          DBType getDatatype()

      Get the type of this column (as closed as possible from the "database" type).

      Note: The returned type should be as closed as possible from a type listed by the IVOA in the TAP protocol description into the section UPLOAD.

      Returns:
        Its type.
      Since:
        1.3

    - #### getTable

          DBTable getTable()

      Gets the table which contains this `DBColumn`.
      Returns:
        Its table or null if no table is specified.

    - #### copy

          DBColumn copy​(java.lang.String dbName,
                        java.lang.String adqlName,
                        DBTable dbTable)

      Makes a copy of this instance of `DBColumn`.
      Parameters:
        `dbName` - Its new DB name.
        `adqlName` - Its new ADQL name.
        `dbTable` - Its new table.
      Returns:
        A modified copy of this `DBColumn`.