|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.jexl2.JexlArithmetic org.apache.commons.jexl2.JexlThreadedArithmetic
public class JexlThreadedArithmetic
A derived arithmetic that allows different threads to operate with different strict/lenient/math modes using the same JexlEngine.
Field Summary |
---|
Fields inherited from class org.apache.commons.jexl2.JexlArithmetic |
---|
BIGD_DOUBLE_MAX_VALUE, BIGD_DOUBLE_MIN_VALUE, BIGD_SCALE, BIGI_LONG_MAX_VALUE, BIGI_LONG_MIN_VALUE, mathContext, mathScale |
Constructor Summary | |
---|---|
JexlThreadedArithmetic(boolean lenient)
Standard ctor. |
|
JexlThreadedArithmetic(boolean lenient,
MathContext bigdContext,
int bigdScale)
Creates a JexlThreadedArithmetic instance. |
Method Summary | |
---|---|
MathContext |
getMathContext()
The MathContext instance used for +,-,/,*,% operations on big decimals. |
int |
getMathScale()
The BigDecimal scale used for comparison and coercion operations. |
boolean |
isLenient()
Checks whether this JexlArithmetic instance triggers errors during evaluation when null is used as an operand. |
static void |
setLenient(Boolean flag)
Overrides the default behavior and sets whether this JexlArithmetic instance triggers errors during evaluation when null is used as an operand for the current thread. |
static void |
setMathContext(MathContext mc)
Sets the math context. |
static void |
setMathScale(Integer scale)
Sets the math scale. |
Methods inherited from class org.apache.commons.jexl2.JexlArithmetic |
---|
add, bitwiseAnd, bitwiseComplement, bitwiseOr, bitwiseXor, compare, controlNullNullOperands, controlNullOperand, divide, equals, greaterThan, greaterThanOrEqual, isFloatingPoint, isFloatingPointNumber, isFloatingPointType, isNumberable, lessThan, lessThanOrEqual, matches, mod, multiply, narrow, narrowAccept, narrowArguments, narrowArrayType, narrowBigDecimal, narrowBigInteger, narrowNumber, negate, roundBigDecimal, subtract, toBigDecimal, toBigInteger, toBoolean, toDouble, toInteger, toLong, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JexlThreadedArithmetic(boolean lenient)
lenient
- lenient versus strict evaluation flagpublic JexlThreadedArithmetic(boolean lenient, MathContext bigdContext, int bigdScale)
lenient
- whether this arithmetic is lenient or strictbigdContext
- the math context instance to use for +,-,/,*,% operations on big decimals.bigdScale
- the scale used for big decimals.Method Detail |
---|
public static void setLenient(Boolean flag)
It is advised to protect calls by either calling JexlThreadedArithmetic.setLenient explicitly before evaluation or add a try/finally clause resetting the flag to avoid unexpected reuse of the lenient flag value through thread pools side-effects.
flag
- true means no JexlException will occur, false allows them, null reverts to default behaviorJexlEngine.setSilent(boolean)
,
JexlEngine.setDebug(boolean)
public static void setMathScale(Integer scale)
The goal and constraints are the same than for setLenient.
scale
- the scalepublic static void setMathContext(MathContext mc)
The goal and constraints are the same than for setLenient.
mc
- the math contextpublic boolean isLenient()
isLenient
in class JexlArithmetic
public int getMathScale()
JexlArithmetic
getMathScale
in class JexlArithmetic
public MathContext getMathContext()
JexlArithmetic
getMathContext
in class JexlArithmetic
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |