26th July 2007 - By Aaron Gadberry
I have published a pet project of mine online recently. After looking at many different project hosting sites I resolved on google code. It seems to have a great interface and amount of space available.
The project is called JExel, and is a Java based expression language parser. It’s not complex to utilize, and can be the perfect plugin library for usage in your larger Java application. JExel parses string expressions to an object result. It comes with native boolean, math, string and date functionality.
A boolean expression utilization would look something like
Expression.evaluateToBoolean("true AND false"); and, in this case, would return a
Of course there are also included methods
Additionally there is a plain
evaluate(String) method that returns an Argument. You can then call getObject() on the resulting Argument and get the actual Object result.
You can expand on the included operators, and write your own to accomplish your own task. You can provide a Resolver which can resolve string variables found in the expression via your own needs. Say you had an expression like
Expression.evaluateToDouble("path/to/variable + otherVariable");. This means if you provide a resolver then you can gain variable resolution relevant to your own project. Maybe path/to/variable is translated into “6” and otherVariable is translated into “4”. Then the result would be 10.
Have fun! Start Exploring JExel