Class PointFunction

  • All Implemented Interfaces:
    ADQLObject, ADQLOperand

    public class PointFunction
    extends GeometryFunction

    It represents the POINT function of the ADQL language.

    This function expresses a single location on the sky, and corresponds semantically to an STC SpatialCoord. The arguments specify the coordinate system and the position.

    Example:
    POINT('ICRS GEOCENTER', 25.0, -19.5)
    In this example the function expresses a point with right ascension of 25 degrees and declination of -19.5 degrees according to the ICRS coordinate system with GEOCENTER reference position.

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

      • PointFunction

        public PointFunction​(ADQLOperand coordinateSystem,
                             ADQLOperand firstCoord,
                             ADQLOperand secondCoord)
                      throws java.lang.UnsupportedOperationException,
                             java.lang.NullPointerException,
                             java.lang.Exception
        Builds a POINT function.
        Parameters:
        coordinateSystem - The coordinate system to use.
        firstCoord - The first coordinate.
        secondCoord - The second coordinate.
        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 at least one of the given parameters is incorrect.
        java.lang.Exception
      • PointFunction

        public PointFunction​(PointFunction toCopy)
                      throws java.lang.Exception
        Builds a POINT function by copying the given one.
        Parameters:
        toCopy - The POINT function to copy.
        Throws:
        java.lang.Exception - If there is an error during the copy.
    • Method Detail

      • getCoord1

        public final ADQLOperand getCoord1()
        Gets the first coordinate of this point.
        Returns:
        Its first coordinate.
      • setCoord1

        public void setCoord1​(ADQLOperand coord1)
                       throws java.lang.NullPointerException,
                              java.lang.Exception
        Changes the first coordinate of this POINT function.
        Parameters:
        coord1 - Its new first coordinate.
        Throws:
        java.lang.NullPointerException - If the given operand is null.
        java.lang.Exception - If the given operand is not numeric.
      • getCoord2

        public final ADQLOperand getCoord2()
        Gets the second coordinate of this point.
        Returns:
        Its second coordinate.
      • setCoord2

        public void setCoord2​(ADQLOperand coord2)
                       throws java.lang.NullPointerException,
                              java.lang.Exception
        Changes the second coordinate of this POINT function.
        Parameters:
        coord2 - Its new second coordinate.
        Throws:
        java.lang.NullPointerException - If the given operand is null.
        java.lang.Exception - If the given operand is not numeric.
      • getCopy

        public ADQLObject getCopy()
                           throws java.lang.Exception
        Description copied from interface: ADQLObject
        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.
      • getName

        public java.lang.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.
      • 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 java.lang.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:
        java.lang.ArrayIndexOutOfBoundsException - If the index is incorrect (index < 0 || index >= getNbParameters()).
      • setParameter

        public ADQLOperand setParameter​(int index,
                                        ADQLOperand replacer)
                                 throws java.lang.ArrayIndexOutOfBoundsException,
                                        java.lang.NullPointerException,
                                        java.lang.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:
        java.lang.ArrayIndexOutOfBoundsException - If the index is incorrect (index < 0 || index >= getNbParameters()).
        java.lang.NullPointerException - If a required parameter must be replaced by a NULL object.
        java.lang.Exception - If another error occurs.