Class Exists

java.lang.Object
adql.query.constraint.Exists
All Implemented Interfaces:
ADQLObject, ADQLConstraint

public class Exists extends Object implements ADQLConstraint
Represents the predicate EXISTS of SQL and ADQL.

This function returns true if the sub-query given in parameter returns at least one result, else it returns false.

  • Field Details

    • FEATURE

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

    • Exists

      public Exists(ADQLSet query)
      Builds an Exists constraint instance.
      Parameters:
      query - Its sub-query.
    • Exists

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

    • getFeatureDescription

      public final 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.
    • getSubQuery

      public final ADQLSet getSubQuery()
      Gets the sub-query of this EXISTS constraint.
      Returns:
      Its sub-query.
    • setSubQuery

      public void setSubQuery(ADQLSet query) throws NullPointerException
      Replaces the sub-query of this EXISTS constraint by the given one.
      Parameters:
      query - Its new sub-query.
      Throws:
      NullPointerException - If the given query is NULL.
    • 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 Exists in the given ADQL query string.
      Parameters:
      position - New position of this Exists.
      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.