Class NumericConstant

java.lang.Object
adql.query.operand.NumericConstant
All Implemented Interfaces:
ADQLObject, ADQLOperand

public class NumericConstant extends Object implements ADQLOperand
A numeric (integer, double, ...) constant.
Version:
1.4 (09/2017)
Author:
Grégory Mantelet (CDS;ARI)
  • Field Details

    • value

      protected String value
    • position

      protected TextPosition position
      Position of this operand.
      Since:
      1.4
  • Constructor Details

    • NumericConstant

      public NumericConstant(String value) throws NumberFormatException
      The numeric value is saved as a string so that the exact user format can be saved. The given string must be convertible in a Double value.
      Parameters:
      value - The numeric value (in a String variable).
      Throws:
      NumberFormatException - If it is impossible to convert the given value in a Double.
      See Also:
    • NumericConstant

      public NumericConstant(long val)
      The numeric value is saved as a string so that the exact user format can be saved.
      Parameters:
      val - The numeric value.
    • NumericConstant

      public NumericConstant(double val)
      The numeric value is saved as a string so that the exact user format can be saved.
      Parameters:
      val - The numeric value.
    • NumericConstant

      public NumericConstant(String value, boolean checkNumeric) throws NumberFormatException
      The numeric value is saved as a string so that the exact user format can be saved. It is possible to force the value (no check to known whether this value is numeric or not is done) by setting the boolean parameter to false.
      Parameters:
      value - The numeric value (in a String variable).
      checkNumeric - true to check whether the given value is numeric, false otherwise.
      Throws:
      NumberFormatException - If it is impossible to convert the given value in a Double.
      See Also:
    • NumericConstant

      public NumericConstant(NumericConstant toCopy)
      Builds a NumericConstant by copying the given one.
      Parameters:
      toCopy - The NumericConstant to copy.
  • Method Details

    • getValue

      public String getValue()
    • getNumericValue

      public double getNumericValue()
    • setValue

      public void setValue(long value)
      Sets the given value.
      Parameters:
      value - The numeric value.
    • setValue

      public void setValue(double value)
      Sets the given value.
      Parameters:
      value - The numeric value.
    • setValue

      public void setValue(String value) throws NumberFormatException
      Sets the given value (it must be convertible in a Double).
      Parameters:
      value - The numeric value.
      Throws:
      NumberFormatException - If it is impossible to convert the given value in a Double.
      See Also:
    • setValue

      public void setValue(String value, boolean checkNumeric) throws NumberFormatException
      Sets the given value. It is possible to force the value (no check to known whether this value is numeric or not is done) by setting the boolean parameter to false.
      Parameters:
      value - The numeric value.
      checkNumeric - true to check whether the given value is numeric, false otherwise.
      Throws:
      NumberFormatException - If the given value can not be converted in a Double.
    • isNumeric

      public final boolean isNumeric()
      Always returns true.
      Specified by:
      isNumeric in interface ADQLOperand
      Returns:
      true if this operand is numeric, false otherwise.
      See Also:
    • isString

      public final boolean isString()
      Always returns false.
      Specified by:
      isString in interface ADQLOperand
      Returns:
      true if this operand is a string, false otherwise.
      See Also:
    • getPosition

      public final TextPosition getPosition()
      Description copied from interface: ADQLObject

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

      By default, no position should be set.

      Specified by:
      getPosition in interface ADQLObject
      Returns:
      Position of this ADQL item in the ADQL query, or NULL if not written originally in the query (for example, if added afterwards.
    • setPosition

      public final void setPosition(TextPosition position)
      Sets the position at which this NumericConstant has been found in the original ADQL query string.
      Parameters:
      position - Position of this NumericConstant.
      Since:
      1.4
    • isGeometry

      public final boolean isGeometry()
      Always returns false.
      Specified by:
      isGeometry in interface ADQLOperand
      Returns:
      true if this operand is a geometry, false otherwise.
      See Also:
    • getCopy

      public ADQLObject getCopy()
      Description copied from interface: ADQLObject
      Gets a (deep) copy of this ADQL object.
      Specified by:
      getCopy in interface ADQLObject
      Returns:
      The copy of this ADQL object.
    • getName

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

      public ADQLIterator adqlIterator()
      Description copied from interface: ADQLObject

      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.

      Specified by:
      adqlIterator in interface ADQLObject
      Returns:
      An ADQL objects iterator.
      See Also:
    • toADQL

      public String toADQL()
      Description copied from interface: ADQLObject
      Gets the ADQL expression of this object.
      Specified by:
      toADQL in interface ADQLObject
      Returns:
      The corresponding ADQL expression.