AFAICT two of the interface changes are not needed:

JexlExpression#Callable can be dropped; AFAICT no other changes are needed.
JxltEngine$Template#getPragmas() can be dropped if the test is
modified to use TemplateScript and TS drops the @Override marker

It's probably not easy to drop JexlEngine$Options#isCancellable() from
the interface.
Nor does it look very easy to interpose an Abstract implementation method.
I don't know if one could add an extended Options interface.

Is there a different way to implement isCancellable?
Does it really belong in Options, or could it be added to JexlEngine instead?

Adding methods to an interface does not break binary compatibility,
however AIUI many downstream consumers rely on source builds so
compatibility breaks of any kind should be avoided in the public API.


On 12 March 2017 at 17:09, Matt Sicker <boa...@gmail.com> wrote:
> BC can be handled a couple ways here besides renaming:
>
> * Are there already abstract classes that implementations are meant to
> extend? If so, that limits the possibility of problems here without using
> default methods in Java 8.
> * If these are truly public interfaces for users to implement, then you can
> extend the interface with an extended version which adds new methods. Try
> not to name them Options31 if you can help it.
>
> On 12 March 2017 at 05:16, henrib <hen...@apache.org> wrote:
>
>>
>> I've reworded the warning about the source compatibility break in the
>> release notes:
>>
>>
>>
>> If this source compatibility break is not 'permitted' despite its
>> improbability, what option should we take:
>> - move to another (jexl31) package ?
>> - add 'extended' interfaces (Options31, JexlExpression31, Template31) ?
>> - add a utility helper class (Jexl31Helper?) to put the 3 methods as
>> functions ( boolean isCancellable(JExlEngine.Options opt) ?
>>
>>
>> Comments welcome,
>> Thanks
>>
>>
>>
>> --
>> View this message in context: http://apache-commons.680414.
>> n4.nabble.com/jexl-3-1-release-review-tp4691513p4696416.html
>> Sent from the Commons - Dev mailing list archive at Nabble.com.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>
>
>
> --
> Matt Sicker <boa...@gmail.com>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to