Package adql.query

Class SelectItem

  • All Implemented Interfaces:
    ADQLObject
    Direct Known Subclasses:
    SelectAllColumns

    public class SelectItem
    extends java.lang.Object
    implements ADQLObject

    Represents an item of a SELECT clause.

    It merely encapsulates an operand and allows to associate to it an alias (according to the following syntax: "SELECT operand AS alias").

    Version:
    1.4 (03/2016)
    Author:
    Grégory Mantelet (CDS;ARI)
    See Also:
    ClauseSelect
    • Constructor Summary

      Constructors 
      Constructor Description
      SelectItem​(ADQLOperand operand)
      Builds a SELECT item just with an operand.
      SelectItem​(ADQLOperand operand, java.lang.String alias)
      Builds a SELECT item with an operand and its alias.
      SelectItem​(SelectItem toCopy)
      Builds a SELECT item by copying the given one.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ADQLIterator adqlIterator()
      Gets an iterator on the intern ADQL objects.
      java.lang.String getAlias()
      Gets the alias of the corresponding operand.
      ADQLObject getCopy()
      Gets a (deep) copy of this ADQL object.
      java.lang.String getName()
      Gets the name of this object in ADQL.
      ADQLOperand getOperand()
      Gets the corresponding operand.
      TextPosition getPosition()
      Gets the position of this object/token in the ADQL query.
      boolean hasAlias()
      Indicates whether the corresponding operand has an alias.
      boolean isCaseSensitive()
      Tells whether the alias is case sensitive.
      void setAlias​(java.lang.String newAlias)
      Changes the alias of the corresponding operand.
      void setCaseSensitive​(boolean sensitive)
      Sets the case sensitivity on the alias.
      void setPosition​(TextPosition position)
      Set the position of this SelectItem in the given ADQL query string.
      java.lang.String toADQL()
      Gets the ADQL expression of this object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SelectItem

        public SelectItem​(ADQLOperand operand)
        Builds a SELECT item just with an operand.
        Parameters:
        operand - Corresponding operand.
      • SelectItem

        public SelectItem​(ADQLOperand operand,
                          java.lang.String alias)
        Builds a SELECT item with an operand and its alias.
        Parameters:
        operand - Corresponding operand.
        alias - Operand alias.
      • SelectItem

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

      • getOperand

        public final ADQLOperand getOperand()
        Gets the corresponding operand.
        Returns:
        The corresponding operand.
      • hasAlias

        public final boolean hasAlias()
        Indicates whether the corresponding operand has an alias.
        Returns:
        true if there is an alias, false otherwise.
      • getAlias

        public final java.lang.String getAlias()
        Gets the alias of the corresponding operand.
        Returns:
        Alias of the operand.
      • setAlias

        public final void setAlias​(java.lang.String newAlias)
        Changes the alias of the corresponding operand.
        Parameters:
        newAlias - The new alias of the operand.
      • isCaseSensitive

        public final boolean isCaseSensitive()
        Tells whether the alias is case sensitive.
        Returns:
        true if the alias is case sensitive, false otherwise.
      • setCaseSensitive

        public final void setCaseSensitive​(boolean sensitive)
        Sets the case sensitivity on the alias.
        Parameters:
        sensitive - true to make case sensitive the alias, false otherwise.
      • 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)
        Set the position of this SelectItem in the given ADQL query string.
        Parameters:
        position - New position of this SelectItem.
        Since:
        1.4
      • getCopy

        public ADQLObject getCopy()
                           throws java.lang.Exception
        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.
        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.
        Specified by:
        getName in interface ADQLObject
        Returns:
        The name of this ADQL object.
      • toADQL

        public java.lang.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.