| \u001B[1mSYNOPSIS\u001B[0m |
| ${project.description} |
| |
| Original Maven URL: |
| \u001B[33mmvn:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m |
| |
| \u001B[1mDESCRIPTION\u001B[0m |
| JEXL is a library intended to facilitate the implementation of dynamic and scripting features in |
| applications and frameworks. |
| |
| It is a small footprint "glueing" API - the core features fit in 3 classes and 10 methods - that can be used |
| in various conditions: |
| |
| * Module or component configuration: |
| o Your application has configuration files (eventually generated by a design module) consumed by the |
| end-user module that would benefit from variables and expressions. |
| o When it would be convenient to use IOC but overall complexity doesn't require (or can't depend upon) |
| a full-blown library (Spring, Guice...). |
| * Loose-coupling of interfaces and implementations or duck-typing: |
| o You have optional classes that your code cant consider as compilation dependencies. |
| o You have to integrate and call "legacy" code or use components that you dont want to strongly depend |
| upon. |
| * Basic scripting features: |
| o Your application lets (advanced) users evaluate or define some simple expressions like computation |
| formulas. |
| * Simple template capabilities: |
| o Your application has basic template requirements and JSPs or Velocity would be overkill or too |
| inconvenient to deploy. |
| |
| Its name stands for Java EXpression Language, a simple expression language inspired by Apache Velocity and |
| the Expression Language defined in the JavaServer Pages Standard Tag Library version 1.1 (JSTL) and |
| JavaServer Pages version 2.0 (JSP). JEXL 2.0 adds features inspired by Unified EL. |
| |
| The API and the expression language exploit Java-beans naming patterns through introspection to expose |
| property getters and setters. It also considers public class fields as properties and allows to invoke any |
| accessible method. |
| |
| JEXL attempts to bring some of the lessons learned by the Velocity community about expression languages in |
| templating to a wider audience. Commons Jelly needed Velocity-ish method access, it just had to have it. |
| |
| It must be noted that JEXL is not a compatible implementation of EL as defined in JSTL 1.1 (JSR-052) or |
| JSP 2.0 (JSR-152). For a compatible implementation of these specifications, see the Commons EL project. |
| |
| \u001B[1mSEE ALSO\u001B[0m |
| \u001B[36mhttp://commons.apache.org/jexl/\u001B[0m |