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 LanguageFeatureGet the description of this ADQL's Language Feature.final ADQLOperandGets the left part of the operation.getName()Gets the name of this object in ADQL.final OperationTypeGets the operation symbol.final TextPositionGets the position of this object/token in the ADQL query.final ADQLOperandGets the right part of the operation.final booleanAlways returnsfalse.final booleanAlways returnstrue.final booleanisString()Always returnsfalse.voidsetLeftOperand(ADQLOperand newLeftOperand) Changes the left operand of this operation.voidsetOperation(OperationType newOperation) Changes the type of this operation (SUM, SUB, MULT, DIV).final voidsetPosition(TextPosition position) Sets the position at which thisWrappedOperandhas been found in the original ADQL query string.voidsetRightOperand(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:ADQLObjectGet 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:
getFeatureDescriptionin 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:
isNumericin interfaceADQLOperand- Returns:
- true if this operand is numeric, false otherwise.
- See Also:
-
isString
public final boolean isString()Always returnsfalse.- Specified by:
isStringin interfaceADQLOperand- Returns:
- true if this operand is a string, false otherwise.
- See Also:
-
getPosition
Description copied from interface:ADQLObjectGets the position of this object/token in the ADQL query.By default, no position should be set.
- Specified by:
getPositionin 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 thisWrappedOperandhas 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:
isGeometryin interfaceADQLOperand- Returns:
- true if this operand is a geometry, false otherwise.
- See Also:
-
getCopy
Description copied from interface:ADQLObjectGets a (deep) copy of this ADQL object.- Specified by:
getCopyin interfaceADQLObject- Returns:
- The copy of this ADQL object.
- Throws:
Exception- If there is any error during the copy.
-
getName
Description copied from interface:ADQLObjectGets the name of this object in ADQL.- Specified by:
getNamein interfaceADQLObject- Returns:
- The name of this ADQL object.
-
adqlIterator
Description copied from interface:ADQLObjectGets an iterator on the intern ADQL objects.Note: The returned iterator is particularly used by a
ISearchHandlerextension to browse a whole ADQL tree.- Specified by:
adqlIteratorin interfaceADQLObject- Returns:
- An ADQL objects iterator.
- See Also:
-
toADQL
Description copied from interface:ADQLObjectGets the ADQL expression of this object.- Specified by:
toADQLin interfaceADQLObject- Returns:
- The corresponding ADQL expression.
-