Author: henrib
Date: Tue Mar 14 17:34:26 2017
New Revision: 1786940
URL: http://svn.apache.org/viewvc?rev=1786940&view=rev
Log:
JEXL:
Updated doc on the risks of implementing JEXL interfaces in user classes
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/package.html
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/package.html
URL:
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/package.html?rev=1786940&r1=1786939&r2=1786940&view=diff
==============================================================================
---
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/package.html
(original)
+++
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/package.html
Tue Mar 14 17:34:26 2017
@@ -75,16 +75,25 @@
</ul>
<h3><a name="usage_note">Important note</a></h3>
+ <p>
+ We recommend you do <em>not</em> implement any JEXL interface with
your own classes
+ and always favor composition over inheritance;
+ whenever JEXL exposes an interface, it is only meant to shield you
from its own implementation.
+ It is possible that new methods are added from JEXL interfaces in
minor versions to fix bugs
+ or add new features; this will break the source compatibility of
any code that depends on such modified interfaces.
+ </p>
The public API classes reside in the 2 packages:
<ul>
<li>org.apache.commons.jexl3</li>
<li>org.apache.commons.jexl3.introspection</li>
</ul>
+ <p>
The following packages follow a "use at your own maintenance cost"
policy; these are only intended to be used
for extending JEXL.
Their classes and methods are not guaranteed to remain compatible in
subsequent versions.
If you think you need to use directly some of their features or
methods, it might be a good idea to check with
the community through the mailing list first.
+ </p>
<ul>
<li>org.apache.commons.jexl3.parser</li>
<li>org.apache.commons.jexl3.scripting</li>