[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [el-dev] Jakarta Expression Language 5.0 Release Details
|
Here is my attempt at filling this in. The content has largely been
lifted from the changes section of the specification.
Mark
On 10/05/2022 14:41, Andrew Pielage wrote:
> Jakarta Expression Language 5.0
While this is a major release due to the removal of a long deprecated
method, the focus of the release has been on clarifying areas of the
specification where ambiguity had been identified and on making a number
of small enhancements to increase the usability of the API.
This release also laid the groundwork for the removal of the dependency
on the java.desktop module which is planned for the next release.
> <Please describe the high-level changes made to Jakarta Expression
> Language 5.0. The intent is for the first two sections to be an
> executive summary in the range of 300 to 800 characters. Links can
> accompany the executive summary, but cannot substitute for an executive
> summary.>
>
> New features, enhancements or additions**
The BeanELResolver has been updated to consider default method
implementations when looking for property getters, property setters and
methods.
Support has been added for coercing a LambdaExpression instance to a
functional interface method invocation.
Support has been added for coercing arrays.
The MethodReference class has been added to provide access to details of
the method to which a MethodExpression resolves, including any
annotations present on the method.
Generics are now used throughout the API.
The expected behaviour when matching expressions to methods based on
parameter types has been clarified.
The EL specification now explicitly states that specifications that
depend on the EL specification may define further packages, in
additional to java.lang.*, that are imported by default into the EL
environment.
> Removals, deprecations or backwards incompatible changes**
The deprecated, mis-spelt method MethodExpression.isParmetersProvided()
has been removed.
The ELResolver method getFeatureDescriptors() has been deprecated with
removal planed for EL 6.0. This is to remove the dependency on the
java.desktop module from the EL API.
A default implementation that returns null has been added to the
ELResolver method getFeatureDescriptors() since it has been deprecated
so that custom ELResolver implementations do not need to implement the
method.
Explicitly document that ELResolver.getType() must return null if either
the ELResolver or the resolved property is read-only. This changes the
documented behaviour of the StaticFieldELResolver.
> Minimum Java Version**
Java 11