Author: henrib
Date: Thu Aug 4 13:53:08 2016
New Revision: 1755189
URL: http://svn.apache.org/viewvc?rev=1755189&view=rev
Log:
JEXL-201: added setting options from context
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/JexlArithmetic.java
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/JexlArithmetic.java
URL:
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/JexlArithmetic.java?rev=1755189&r1=1755188&r2=1755189&view=diff
==============================================================================
---
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/JexlArithmetic.java
(original)
+++
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/JexlArithmetic.java
Thu Aug 4 13:53:08 2016
@@ -133,6 +133,19 @@ public class JexlArithmetic {
}
/**
+ * Apply options to this arithmetic which eventually may create another
instance.
+ * @see #createWithOptions(boolean, java.math.MathContext, int)
+ *
+ * @param context the context that may extend {@link JexlEngine.Options}
to use
+ * @return a new arithmetic instance or this
+ */
+ public JexlArithmetic options(JexlContext context) {
+ return context instanceof JexlEngine.Options
+ ? options((JexlEngine.Options) context)
+ : this;
+ }
+
+ /**
* Creates a JexlArithmetic instance.
* Called by options(...) method when another instance of the same class
of arithmetic is required.
* @see #options(org.apache.commons.jexl3.JexlEngine.Options)
@@ -709,10 +722,10 @@ public class JexlArithmetic {
// otherwise treat as integers
BigInteger l = toBigInteger(left);
BigInteger r = toBigInteger(right);
- BigInteger result = l.mod(r);
if (BigInteger.ZERO.equals(r)) {
throw new ArithmeticException("%");
}
+ BigInteger result = l.mod(r);
return narrowBigInteger(left, right, result);
}