Package adql.query.operand.function.geometry

## Class GeometryFunction

- java.lang.Object
- - adql.query.operand.function.ADQLFunction
  - - adql.query.operand.function.geometry.GeometryFunction

- All Implemented Interfaces:
    `ADQLObject`, `ADQLOperand`
  Direct Known Subclasses:
    `AreaFunction`, `BoxFunction`, `CentroidFunction`, `CircleFunction`, `ContainsFunction`, `DistanceFunction`, `ExtractCoord`, `ExtractCoordSys`, `IntersectsFunction`, `PointFunction`, `PolygonFunction`, `RegionFunction`

      public abstract class GeometryFunction
      extends ADQLFunction

  It represents any geometric function of ADQL.

  Version:
    1.4 (06/2015)
  Author:
    Grégory Mantelet (CDS;ARI)

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `GeometryFunction.GeometryValue<F extends GeometryFunction>` | This class represents a parameter of a geometry function which, in general, is either a GeometryFunction or a Column.

    - ### Nested classes/interfaces inherited from class adql.query.operand.function.ADQLFunction

      `ADQLFunction.ParameterIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ADQLOperand` | `coordSys` | The coordinate system used to express the coordinates.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `GeometryFunction()` | Builds a geometry function with no coordinate system.
    `protected` | `GeometryFunction​(ADQLOperand coordSys)` | Builds a geometry function with its coordinate system.
    `protected` | `GeometryFunction​(GeometryFunction toCopy)` | Builds a geometry function by copying the given one.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ADQLOperand` | `getCoordinateSystem()` | Gets the used coordinate system.
    `void` | `setCoordinateSystem​(ADQLOperand coordSys)` | Changes the coordinate system.

    - ### Methods inherited from class adql.query.operand.function.ADQLFunction

      `adqlIterator, getNbParameters, getParameter, getParameters, getPosition, paramIterator, setParameter, setPosition, toADQL`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

      `getCopy, getName`

    - ### Methods inherited from interface adql.query.operand.ADQLOperand

      `isGeometry, isNumeric, isString`

- - ### Field Detail

    - #### coordSys

          protected ADQLOperand coordSys

      The coordinate system used to express the coordinates.

  - ### Constructor Detail

    - #### GeometryFunction

          protected GeometryFunction()

      Builds a geometry function with no coordinate system.

    - #### GeometryFunction

          protected GeometryFunction​(ADQLOperand coordSys)
                              throws java.lang.UnsupportedOperationException,
                                     java.lang.NullPointerException,
                                     java.lang.Exception

      Builds a geometry function with its coordinate system.
      Parameters:
        `coordSys` - A string operand which corresponds to a valid coordinate system.
      Throws:
        `java.lang.UnsupportedOperationException` - If this function is not associated with a coordinate system.
        `java.lang.NullPointerException` - If the given operand is null.
        `java.lang.Exception` - If the given operand is not a string.

    - #### GeometryFunction

          protected GeometryFunction​(GeometryFunction toCopy)
                              throws java.lang.Exception

      Builds a geometry function by copying the given one.
      Parameters:
        `toCopy` - The geometry function to copy.
      Throws:
        `java.lang.Exception` - If there is an error during the copy.

  - ### Method Detail

    - #### getCoordinateSystem

          public ADQLOperand getCoordinateSystem()

      Gets the used coordinate system.
      Returns:
        Its coordinate system.

    - #### setCoordinateSystem

          public void setCoordinateSystem​(ADQLOperand coordSys)
                                   throws java.lang.UnsupportedOperationException,
                                          java.lang.NullPointerException,
                                          ParseException

      Changes the coordinate system.
      Parameters:
        `coordSys` - Its new coordinate system.
      Throws:
        `java.lang.UnsupportedOperationException` - If this function is not associated with a coordinate system.
        `java.lang.NullPointerException` - If the given operand is null.
        `ParseException` - If the given operand is not a string.