Package org.apache.felix.gogo.runtime
Class Expression.Operator
- java.lang.Object
-
- org.apache.felix.gogo.runtime.Expression.Operator
-
- Direct Known Subclasses:
Expression.Assignment,Expression.Comparator
- Enclosing class:
- Expression
public abstract class Expression.Operator extends Object
Abstract definition of a supported operator. An operator is defined by its name (pattern), precedence and if it is left- or right associative.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Objecteval(String v1, String v2)abstract BigDecimaleval(BigDecimal v1, BigDecimal v2)Implementation for this operator.Objecteval(Map<String,Object> variables, Object v1, Object v2)StringgetOper()intgetPrecedence()booleanisLeftAssoc()StringtoString()
-
-
-
Constructor Detail
-
Operator
public Operator(String oper, int precedence, boolean leftAssoc)
Creates a new operator.- Parameters:
oper- The operator name (pattern).precedence- The operators precedence.leftAssoc-trueif the operator is left associative, elsefalse.
-
-
Method Detail
-
getOper
public String getOper()
-
getPrecedence
public int getPrecedence()
-
isLeftAssoc
public boolean isLeftAssoc()
-
eval
public abstract BigDecimal eval(BigDecimal v1, BigDecimal v2)
Implementation for this operator.- Parameters:
v1- Operand 1.v2- Operand 2.- Returns:
- The result of the operation.
-
-