Package adql.query
Class SelectItem
- java.lang.Object
-
- adql.query.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 thisSelectItem
in the given ADQL query string.java.lang.String
toADQL()
Gets the ADQL expression of this object.
-
-
-
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 interfaceADQLObject
- 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 thisSelectItem
in the given ADQL query string.- Parameters:
position
- New position of thisSelectItem
.- 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 interfaceADQLObject
- 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 interfaceADQLObject
- 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 interfaceADQLObject
- Returns:
- An ADQL objects iterator.
- See Also:
ADQLIterator
,ISearchHandler
-
toADQL
public java.lang.String toADQL()
Description copied from interface:ADQLObject
Gets the ADQL expression of this object.- Specified by:
toADQL
in interfaceADQLObject
- Returns:
- The corresponding ADQL expression.
-
-