|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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 flag
public 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 JexlArithmeticpublic int getMathScale()
JexlArithmetic
getMathScale in class JexlArithmeticpublic MathContext getMathContext()
JexlArithmetic
getMathContext in class JexlArithmetic
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||