Class RegionFunction

All Implemented Interfaces:
ADQLObject, ADQLOperand

public class RegionFunction extends GeometryFunction

It represents the REGION function the ADQL language.

This function provides a generic way of expressing a region represented by a single string input parameter. The format of the string MUST be specified by a service that accepts ADQL by referring to a standard format. Currently STC/s is the only standardized string representation a service can declare.

Example:
REGION('Convex ... Position ... Error ... Size')
In this example the function embeds a string serialization of an STC region within parenthesis.

Warning:
Inappropriate geometries for this construct SHOULD throw an error message, to be defined by the service making use of ADQL.

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

    • parameter

      protected ADQLOperand parameter
      The only parameter of this function.
  • Constructor Details

    • RegionFunction

      public RegionFunction(ADQLOperand param) throws NullPointerException, Exception
      Builds a REGION function.
      Parameters:
      param - The parameter (a string or a column reference or a concatenation or a user function).
      Throws:
      ParseException - If the given parameter is null.
      NullPointerException
      Exception
    • RegionFunction

      public RegionFunction(RegionFunction toCopy) throws Exception
      Builds a REGION function by copying the given one.
      Parameters:
      toCopy - The REGION function to copy.
      Throws:
      Exception - If there is an error during the copy.
  • Method Details

    • getCopy

      public ADQLObject getCopy() throws Exception
      Description copied from interface: ADQLObject
      Gets a (deep) copy of this ADQL object.
      Returns:
      The copy of this ADQL object.
      Throws:
      Exception - If there is any error during the copy.
    • getName

      public String getName()
      Description copied from interface: ADQLObject
      Gets the name of this object in ADQL.
      Returns:
      The name of this ADQL object.
    • isNumeric

      public boolean isNumeric()
      Description copied from interface: ADQLOperand
      Tell whether this operand is numeric or not.
      Returns:
      true if this operand is numeric, false otherwise.
    • isString

      public boolean isString()
      Description copied from interface: ADQLOperand
      Tell whether this operand is a string or not.
      Returns:
      true if this operand is a string, false otherwise.
    • isGeometry

      public boolean isGeometry()
      Description copied from interface: ADQLOperand
      Tell whether this operand is a geometrical region or not.
      Returns:
      true if this operand is a geometry, false otherwise.
    • getParameters

      public ADQLOperand[] getParameters()
      Description copied from class: ADQLFunction
      Gets the list of all parameters of this function.
      Specified by:
      getParameters in class ADQLFunction
      Returns:
      Its parameters list.
    • getNbParameters

      public int getNbParameters()
      Description copied from class: ADQLFunction
      Gets the number of parameters this function has.
      Specified by:
      getNbParameters in class ADQLFunction
      Returns:
      Number of parameters.
    • getParameter

      public ADQLOperand getParameter(int index) throws ArrayIndexOutOfBoundsException
      Description copied from class: ADQLFunction
      Gets the index-th parameter.
      Specified by:
      getParameter in class ADQLFunction
      Parameters:
      index - Parameter number.
      Returns:
      The corresponding parameter.
      Throws:
      ArrayIndexOutOfBoundsException - If the index is incorrect (index < 0 || index >= getNbParameters()).
    • setParameter

      public ADQLOperand setParameter(int index, ADQLOperand replacer) throws ArrayIndexOutOfBoundsException, NullPointerException, Exception
      Description copied from class: ADQLFunction
      Replaces the index-th parameter by the given one.
      Specified by:
      setParameter in class ADQLFunction
      Parameters:
      index - Index of the parameter to replace.
      replacer - The replacer.
      Returns:
      The replaced parameter.
      Throws:
      ArrayIndexOutOfBoundsException - If the index is incorrect (index < 0 || index >= getNbParameters()).
      NullPointerException - If a required parameter must be replaced by a NULL object.
      Exception - If another error occurs.