Package adql.query

Class ColumnReference

  • All Implemented Interfaces:
    ADQLObject
    Direct Known Subclasses:
    ADQLOrder

    public class ColumnReference
    extends java.lang.Object
    implements ADQLObject
    Represents a reference to a selected column either by an index or by a non-qualified column name/alias.
    Version:
    01/2012
    Author:
    Grégory Mantelet (CDS)
    See Also:
    ADQLOrder
    • Constructor Detail

      • ColumnReference

        public ColumnReference​(int index)
                        throws java.lang.ArrayIndexOutOfBoundsException
        Builds a column reference with an index of a selected column.
        Parameters:
        index - Index of a selected column (from 1).
        Throws:
        java.lang.ArrayIndexOutOfBoundsException - If the given index is less or equal 0.
      • ColumnReference

        public ColumnReference​(java.lang.String colName)
                        throws java.lang.NullPointerException
        Builds a column reference with a name/alias of a selected column.
        Parameters:
        colName - A column name/alias.
        Throws:
        java.lang.NullPointerException - If the given name is null or is an empty string.
      • ColumnReference

        public ColumnReference​(ColumnReference toCopy)
        Builds a column reference by copying the given one.
        Parameters:
        toCopy - The column reference to copy.
    • Method Detail

      • setPosition

        public void setPosition​(TextPosition pos)
        Sets the position at which this ColumnReference has been found in the original ADQL query string.
        Parameters:
        pos - Position of this ColumnReference.
      • getColumnIndex

        public final int getColumnIndex()
        Gets the index of the referenced column.
        Returns:
        The index of the referenced column or -1 if this column reference has been made with a column name/alias.
      • setColumnIndex

        public final boolean setColumnIndex​(int index)
        Sets the index of the referenced column.
        Parameters:
        index - The index of the referenced column (must be > 0).
        Returns:
        true if the column referenced has been updated, false otherwise (if index <= 0).
      • isIndex

        public final boolean isIndex()
        Tells whether the column is referenced by its index or by its name/alias.
        Returns:
        true if by index, false if by name/alias.
      • getColumnName

        public final java.lang.String getColumnName()
        Gets the name/alias of the referenced column.
        Returns:
        The referenced column's name/alias or null if this column reference has been made with a column index.
      • setColumnName

        public final boolean setColumnName​(java.lang.String name)
        Sets the name/alias of the referenced column.
        Parameters:
        name - The referenced column's name/alias (must be different from null and from an empty string).
        Returns:
        true if the column reference has been updated, false otherwise (if name is null or is an empty string).
      • isCaseSensitive

        public final boolean isCaseSensitive()
        Tells whether the column reference on a column name/alias is case sensitive.
        Returns:
        true if the column name/alias is case sensitive, false otherwise.
      • setCaseSensitive

        public final void setCaseSensitive​(boolean sensitive)
        Sets the case sensitivity on the column name/alias.
        Parameters:
        sensitive - true to make case sensitive the column name/alias, false otherwise.
      • setDBLink

        public final void setDBLink​(DBColumn dbLink)

        Sets the DBColumn corresponding to this ADQLColumn.

        By default, this field is automatically filled by DBChecker.

        Parameters:
        dbLink - Its corresponding DBColumn if getColumnName() is a column name (not an alias), null otherwise.
      • getAdqlTable

        public final ADQLTable getAdqlTable()
        Gets the ADQLTable from which this column is supposed to come.
        Returns:
        Its source table if getColumnName() is a column name (not an alias), otherwise null.
      • 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.