Package adql.query

## Interface ADQLObject

- All Known Subinterfaces:
    `ADQLConstraint`, `ADQLOperand`, `FromContent`, `UnknownType`
  All Known Implementing Classes:
    `ADQLColumn`, `ADQLFunction`, `ADQLJoin`, `ADQLList`, `ADQLOrder`, `ADQLQuery`, `ADQLTable`, `AreaFunction`, `Between`, `BoxFunction`, `CentroidFunction`, `CircleFunction`, `ClauseADQL`, `ClauseConstraints`, `ClauseSelect`, `ColumnReference`, `Comparison`, `Concatenation`, `ConstraintsGroup`, `ContainsFunction`, `CrossJoin`, `DefaultUDF`, `DistanceFunction`, `Exists`, `ExtractCoord`, `ExtractCoordSys`, `GeometryFunction`, `GeometryFunction.GeometryValue`, `In`, `InnerJoin`, `IntersectsFunction`, `IsNull`, `MathFunction`, `NegativeOperand`, `NotConstraint`, `NumericConstant`, `Operation`, `OuterJoin`, `PointFunction`, `PolygonFunction`, `RegionFunction`, `SelectAllColumns`, `SelectItem`, `SQLFunction`, `SQLServer_InnerJoin`, `SQLServer_OuterJoin`, `StringConstant`, `UserDefinedFunction`, `WrappedOperand`

      public interface ADQLObject

  This class gathers all main behaviors of any ADQL object (query, clause, columns, condition, etc...):

  - to have a name in ADQL
  - to be written in ADQL
  - to offer a way to search any ADQL item (included itself)
  - to get its position in the original ADQL query.
  Version:
    1.4 (06/2015)
  Author:
    Grégory Mantelet (CDS;ARI)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ADQLIterator` | `adqlIterator()` | Gets an iterator on the intern ADQL objects.
    `ADQLObject` | `getCopy()` | Gets a (deep) copy of this ADQL object.
    `java.lang.String` | `getName()` | Gets the name of this object in ADQL.
    `TextPosition` | `getPosition()` | Gets the position of this object/token in the ADQL query.
    `java.lang.String` | `toADQL()` | Gets the ADQL expression of this object.

- - ### Method Detail

    - #### getName

          java.lang.String getName()

      Gets the name of this object in ADQL.
      Returns:
        The name of this ADQL object.

    - #### getPosition

          TextPosition getPosition()

      Gets the position of this object/token in the ADQL query.

      By default, no position should be set.

      Returns:
        Position of this ADQL item in the ADQL query, or NULL if not written originally in the query (for example, if added afterwards.
      Since:
        1.4

    - #### toADQL

          java.lang.String toADQL()

      Gets the ADQL expression of this object.
      Returns:
        The corresponding ADQL expression.

    - #### getCopy

          ADQLObject getCopy()
                      throws java.lang.Exception

      Gets a (deep) copy of this ADQL object.
      Returns:
        The copy of this ADQL object.
      Throws:
        `java.lang.Exception` - If there is any error during the copy.

    - #### adqlIterator

          ADQLIterator adqlIterator()

      Gets an iterator on the intern ADQL objects.

      Note:The returned iterator is particularly used by a `ISearchHandler` extension to browse a whole ADQL tree.

      Returns:
        An ADQL objects iterator.
      See Also:
        `ADQLIterator`, `ISearchHandler`