Skip to main content

[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



Back to the top