Package adql.query.operand
Class Operation
java.lang.Object
adql.query.operand.Operation
- All Implemented Interfaces:
ADQLObject
,ADQLOperand
It represents a simple numeric operation (sum, difference, multiplication and
division) or a bitwise operation (binary AND, OR or XOR).
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionOperation
(ADQLOperand leftOp, OperationType op, ADQLOperand rightOp) Builds an operation.Builds an Operation by copying the given one. -
Method Summary
Modifier and TypeMethodDescriptionGets an iterator on the intern ADQL objects.getCopy()
Gets a (deep) copy of this ADQL object.final LanguageFeature
Get the description of this ADQL's Language Feature.final ADQLOperand
Gets the left part of the operation.getName()
Gets the name of this object in ADQL.final OperationType
Gets the operation symbol.final TextPosition
Gets the position of this object/token in the ADQL query.final ADQLOperand
Gets the right part of the operation.final boolean
Always returnsfalse
.final boolean
Always returnstrue
.final boolean
isString()
Always returnsfalse
.void
setLeftOperand
(ADQLOperand newLeftOperand) Changes the left operand of this operation.void
setOperation
(OperationType newOperation) Changes the type of this operation (SUM, SUB, MULT, DIV).final void
setPosition
(TextPosition position) Sets the position at which thisWrappedOperand
has been found in the original ADQL query string.void
setRightOperand
(ADQLOperand newRightOperand) Changes the right operand of this operation.toADQL()
Gets the ADQL expression of this object.
-
Constructor Details
-
Operation
public Operation(ADQLOperand leftOp, OperationType op, ADQLOperand rightOp) throws NullPointerException, UnsupportedOperationException Builds an operation.- Parameters:
leftOp
- Left operand.op
- Operation symbol.rightOp
- Right operand.- Throws:
NullPointerException
- If one of the given parameters is NULL.UnsupportedOperationException
- See Also:
-
Operation
Builds an Operation by copying the given one.- Parameters:
toCopy
- The Operand to copy.- Throws:
Exception
- If there is an error during the copy.
-
-
Method Details
-
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 interfaceADQLObject
- Returns:
- Description of this ADQL object as an ADQL's feature.
-
getLeftOperand
Gets the left part of the operation.- Returns:
- The left operand.
-
setLeftOperand
public void setLeftOperand(ADQLOperand newLeftOperand) throws NullPointerException, UnsupportedOperationException Changes the left operand of this operation.- Parameters:
newLeftOperand
- The new left operand.- Throws:
NullPointerException
- If the given operand is NULL.UnsupportedOperationException
- If the given operand is not numeric (seeADQLOperand.isNumeric()
).
-
getOperation
Gets the operation symbol.- Returns:
- The operation type.
- See Also:
-
setOperation
Changes the type of this operation (SUM, SUB, MULT, DIV).- Parameters:
newOperation
- The new type of this operation.- See Also:
-
getRightOperand
Gets the right part of the operation.- Returns:
- The right operand.
-
setRightOperand
public void setRightOperand(ADQLOperand newRightOperand) throws NullPointerException, UnsupportedOperationException Changes the right operand of this operation.- Parameters:
newRightOperand
- The new right operand of this operation.- Throws:
NullPointerException
- If the given operand is NULL.UnsupportedOperationException
- If the given operand is not numeric (seeADQLOperand.isNumeric()
).
-
isNumeric
public final boolean isNumeric()Always returnstrue
.- Specified by:
isNumeric
in interfaceADQLOperand
- Returns:
- true if this operand is numeric, false otherwise.
- See Also:
-
isString
public final boolean isString()Always returnsfalse
.- Specified by:
isString
in interfaceADQLOperand
- Returns:
- true if this operand is a string, false otherwise.
- See Also:
-
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
Sets the position at which thisWrappedOperand
has been found in the original ADQL query string.- Parameters:
position
- Position of thisWrappedOperand
.- Since:
- 1.4
-
isGeometry
public final boolean isGeometry()Always returnsfalse
.- Specified by:
isGeometry
in interfaceADQLOperand
- Returns:
- true if this operand is a geometry, false otherwise.
- See Also:
-
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.
-