Package adql.query.from

## Interface FromContent

- All Superinterfaces:
    `ADQLObject`
  All Known Implementing Classes:
    `ADQLJoin`, `ADQLTable`, `CrossJoin`, `InnerJoin`, `OuterJoin`, `SQLServer_InnerJoin`, `SQLServer_OuterJoin`

      public interface FromContent
      extends ADQLObject

  Represents the content of the whole or a part of the clause FROM. It could be either a table (`ADQLTable`) or a join (`ADQLJoin`).
  Version:
    1.4 (09/2017)
  Author:
    Grégory Mantelet (CDS;ARI)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SearchColumnList` | `getDBColumns()` | Gets the list of all columns (~ database metadata) available in this FROM part.
    `java.util.List<ADQLTable>` | `getTables()` | Gets all `ADQLTable` instances contained in this FROM part (itself included, if it is an `ADQLTable`).
    `java.util.List<ADQLTable>` | `getTablesByAlias​(java.lang.String alias, boolean caseSensitive)` | Gets all the table whose the alias is equals to the given one.
    `void` | `setPosition​(TextPosition position)` | Set the position of this `FromContent` in the given ADQL query string.

    - ### Methods inherited from interface adql.query.ADQLObject

      `adqlIterator, getCopy, getName, getPosition, toADQL`

- - ### Method Detail

    - #### getDBColumns

          SearchColumnList getDBColumns()
                                 throws UnresolvedJoinException

      Gets the list of all columns (~ database metadata) available in this FROM part.

      Note: In the most cases, this list is generated on the fly !

      Returns:
        All the available `DBColumn`s.
      Throws:
        `UnresolvedJoinException` - If a join is not possible.

    - #### getTables

          java.util.List<ADQLTable> getTables()

      Gets all `ADQLTable` instances contained in this FROM part (itself included, if it is an `ADQLTable`).
      Returns:
        The list of all `ADQLTable`s found.

    - #### getTablesByAlias

          java.util.List<ADQLTable> getTablesByAlias​(java.lang.String alias,
                                                     boolean caseSensitive)

      Gets all the table whose the alias is equals to the given one.

      Note: Theoretically, only one table may be returned. But, since this object may be generated without the parser, it is possible that several `ADQLTable` objects exits with the same alias (particularly if there are JOIN).

      Parameters:
        `alias` - Alias of the table(s) to get.
        `caseSensitive` - true if the research must be made with case-sensitivity, false otherwise.
      Returns:
        The list of all tables found.

    - #### setPosition

          void setPosition​(TextPosition position)

      Set the position of this `FromContent` in the given ADQL query string.
      Parameters:
        `position` - New position of this `FromContent`.
      Since:
        1.4