Package adql.query
Class ColumnReference
java.lang.Object
adql.query.ColumnReference
- All Implemented Interfaces:
ADQLObject
- Direct Known Subclasses:
ADQLOrder
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:
-
Constructor Summary
ConstructorsConstructorDescriptionColumnReference
(int index) Builds a column reference with an index of a selected column.ColumnReference
(ColumnReference toCopy) Builds a column reference by copying the given one.ColumnReference
(String colName) Builds a column reference with a name/alias of a selected column. -
Method Summary
Modifier and TypeMethodDescriptionfinal ADQLIterator
Gets an iterator on the intern ADQL objects.final ADQLTable
Gets theADQLTable
from which this column is supposed to come.final int
Gets the index of the referenced column.final String
Gets the name/alias of the referenced column.getCopy()
Gets a (deep) copy of this ADQL object.final DBColumn
Gets the correspondingDBColumn
.getName()
Gets the name of this object in ADQL.final TextPosition
Gets the position in the original ADQL query string.final boolean
Tells whether the column reference on a column name/alias is case sensitive.final boolean
isIndex()
Tells whether the column is referenced by its index or by its name/alias.final void
setAdqlTable
(ADQLTable adqlTable) Sets theADQLTable
from which this column is supposed to come.final void
setCaseSensitive
(boolean sensitive) Sets the case sensitivity on the column name/alias.final boolean
setColumnIndex
(int index) Sets the index of the referenced column.final boolean
setColumnName
(String name) Sets the name/alias of the referenced column.final void
Sets theDBColumn
corresponding to thisADQLColumn
.void
setPosition
(TextPosition pos) Sets the position at which thisColumnReference
has been found in the original ADQL query string.toADQL()
Gets the ADQL expression of this object.
-
Constructor Details
-
ColumnReference
Builds a column reference with an index of a selected column.- Parameters:
index
- Index of a selected column (from 1).- Throws:
ArrayIndexOutOfBoundsException
- If the given index is less or equal 0.
-
ColumnReference
Builds a column reference with a name/alias of a selected column.- Parameters:
colName
- A column name/alias.- Throws:
NullPointerException
- If the given name is null or is an empty string.
-
ColumnReference
Builds a column reference by copying the given one.- Parameters:
toCopy
- The column reference to copy.
-
-
Method Details
-
getPosition
Gets the position in the original ADQL query string.- Specified by:
getPosition
in interfaceADQLObject
- Returns:
- The position of this
ColumnReference
.
-
setPosition
Sets the position at which thisColumnReference
has been found in the original ADQL query string.- Parameters:
pos
- Position of thisColumnReference
.
-
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
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
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.
-
getDBLink
Gets the correspondingDBColumn
.- Returns:
- The corresponding
DBColumn
ifgetColumnName()
is a column name (not an alias), null otherwise.
-
setDBLink
Sets the
DBColumn
corresponding to thisADQLColumn
.By default, this field is automatically filled by
DBChecker
.- Parameters:
dbLink
- Its correspondingDBColumn
ifgetColumnName()
is a column name (not an alias), null otherwise.
-
getAdqlTable
Gets theADQLTable
from which this column is supposed to come.- Returns:
- Its source table if
getColumnName()
is a column name (not an alias), otherwise null.
-
setAdqlTable
Sets the
ADQLTable
from which this column is supposed to come.By default, this field is automatically filled by
DBChecker
whenDBChecker.check(adql.query.ADQLQuery)
is called.- Parameters:
adqlTable
- Its source table ifgetColumnName()
is a column name (not an alias), null otherwise.
-
getCopy
Description copied from interface:ADQLObject
Gets a (deep) copy of this ADQL object.- Specified by:
getCopy
in interfaceADQLObject
- Returns:
- The copy of this ADQL object.
- Throws:
Exception
- If there is any error during the copy.
-
getName
Description copied from interface:ADQLObject
Gets the name of this object in ADQL.- Specified by:
getName
in interfaceADQLObject
- Returns:
- The name of this ADQL object.
-
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 interfaceADQLObject
- Returns:
- An ADQL objects iterator.
- See Also:
-
toADQL
Description copied from interface:ADQLObject
Gets the ADQL expression of this object.- Specified by:
toADQL
in interfaceADQLObject
- Returns:
- The corresponding ADQL expression.
-