Package adql.query

Class SelectItem

java.lang.Object
adql.query.SelectItem
All Implemented Interfaces:
ADQLObject
Direct Known Subclasses:
SelectAllColumns

public class SelectItem extends 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).

See Also:
  • Field Details

    • FEATURE

      public static final LanguageFeature FEATURE
      Description of this ADQL Feature.
      Since:
      2.0
  • Constructor Details

    • SelectItem

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

      public SelectItem(ADQLOperand operand, 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 Exception
      Builds a SELECT item by copying the given one.
      Parameters:
      toCopy - The SELECT item to copy.
      Throws:
      Exception - If there is an error during the copy.
  • Method Details

    • getFeatureDescription

      public LanguageFeature getFeatureDescription()
      Description copied from interface: ADQLObject
      Get the description of this ADQL's Language Feature.

      Note: Getting this description is generally only useful when discovery optional features so that determining if they are allowed to be used in ADQL queries.

      Specified by:
      getFeatureDescription in interface ADQLObject
      Returns:
      Description of this ADQL object as an ADQL's feature.
    • 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 String getAlias()
      Gets the alias of the corresponding operand.
      Returns:
      Alias of the operand.
    • setAlias

      public final void setAlias(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 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:
      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.
      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.