Affects Version/s: 1.0
Fix Version/s: 2.0
Operating System: other
From: Guido Anzuoni <firstname.lastname@example.org>
Here I will try to explain may changes to see if you agree to include in the trunk.
I need to include static methods resolution in expressions (e.g.
System.currentTimeMillis()). I patched the class to allow it.
Resolving vars using a Map is not enough flexible for my needs. I have modified
it to have a single method
public Object resolveVariable(String var);
This allows me for better flexibility in the resolution process.
I have implemented a JextContext based on a java.util.Map, an extensible
JexlContext and a delegating JexlContext.
The extensible resolver is abstract and has a "parent" context to which
delegates in the case local resolution failes.
Delegating implementation extends the extensible context and uses another
JexlContext for local resolution.
More, I have removed any reference to JexlContex.getVars() in the code.
If you wish I can send the modified classes to better evaluate my changes.