[I] Rationale:

Numerous expression languages exist for embedding in Java-based
applications and frameworks. There is a growing tend to defer choice
of the expression language, especially since users of frameworks and
middleware components demand such freedom. Commons Expression aims to
provide a simple abstraction over these expression languages.

No such library exists in Apache Commons or anywhere else under AL, AFAIK.

[II] Scope:

The package shall create and maintain a simple abstraction API over
expression languages. It will also provide the necessary adapters to
bridge the API with several existing expression language
implementations. The exact list is TBD, it may grow over time pending
community interest. Examples are (references provided for a couple):

 * Commons EL [1]
 * Commons JEXL [2]
 * JavaScript
 * Pnuts
 * MVEL
 * OGNL
 * JUEL
 * javax.script related

The package shall not implement an expression language of its own.

[III] Dependencies:

The Commons Expression codebase shall not have any compile-time
dependencies, other than each of the expression language
implementations for the above-mentioned adapters. The run-time
dependencies will be a function of developer choice.

The minimum JDK version shall be 1.4, atleast one JDK 1.4-compatible
release is anticipated. A JDK 1.5 branch can be started concurrently
while in sandbox, pending interest.

[IV] Code Provenance:

The library will be seeded with code from Commons SCXML [3].
Specifically, the Context and Evaluator interfaces along with existing
implementations for Commons EL and Commons JEXL along with
corresponding tests will be pulled in. Further additions will be
driven by community interest.

[V] Naming, Resources and Conventions:

The base name for the proposed package will be:

org.apache.commons.expression

The project will use the Apache Commons user and dev mailing lists,
will create a component repository named "expression" (lower case) in
SVN under commons-sandbox and will be listed as "Expression" in the
project list in JIRA (as "Expression" component under "SANDBOX" before
graduation). Code style conventions will be borrowed from the parent
component (Commons SCXML).

[VI] Committer Interest:

The following Apache committer has expressed interest in the creation
of this Commons Sandbox component:

 * Rahul Akolkar

[VII] Reference Links:

[1] Commons EL http://commons.apache.org/el/
[2] Commons JEXL http://commons.apache.org/jexl/
[3] Commons SCXML http://commons.apache.org/scxml/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to