Henri Biestro created JEXL-359:
----------------------------------
Summary: Allow per-operator arithmetic handling of null arguments
Key: JEXL-359
URL: https://issues.apache.org/jira/browse/JEXL-359
Project: Commons JEXL
Issue Type: Improvement
Affects Versions: 3.2.1
Reporter: Henri Biestro
Assignee: Henri Biestro
Fix For: 3.3
WHAT
A JexlArithmetic declares its behaviour with respect to null arguments using
the strict flag. When strict, no operator is null-safe and each should consider
a null argument as an error.
It can not strictly be the case since '==' must be able to use null as argument.
There are cases where one would like to retain 'strictness' for most operators
but relax the behaviour for a few. A typical case is '+' for string and null
where one would like to consider null as a valid argument even if arithmetic is
strict.
HOW
There is already a scaffolding for this feature with the OperatorController.
Refining it to associate the operator to a syntactic node allows controlling
whether the interpretation of that node will tolerate null arguments before it
is called.
An overridable method in the JexlArithmetic to determine whether an operator is
strict or null-safe exposes the intent (isStrict(JexlOperator)).
--
This message was sent by Atlassian Jira
(v8.20.1#820001)