This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 39c4e2d952 Add support for java.util.Optional to the empty operator.
39c4e2d952 is described below

commit 39c4e2d952c1a0b5451fdd8bd7c794b5d3fb70d4
Author: Mark Thomas <[email protected]>
AuthorDate: Mon Mar 16 22:59:15 2026 +0000

    Add support for java.util.Optional to the empty operator.
---
 java/org/apache/el/parser/AstAbstractEmpty.java | 4 +++-
 webapps/docs/changelog.xml                      | 4 ++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/el/parser/AstAbstractEmpty.java 
b/java/org/apache/el/parser/AstAbstractEmpty.java
index 5cc55f8ae6..f4f3442b52 100644
--- a/java/org/apache/el/parser/AstAbstractEmpty.java
+++ b/java/org/apache/el/parser/AstAbstractEmpty.java
@@ -19,6 +19,7 @@ package org.apache.el.parser;
 
 import java.util.Collection;
 import java.util.Map;
+import java.util.Optional;
 
 import jakarta.el.ELException;
 
@@ -52,7 +53,8 @@ public abstract class AstAbstractEmpty extends SimpleNode {
         if (obj == null || obj instanceof String && ((String) obj).isEmpty() ||
                 obj instanceof Object[] && ((Object[]) obj).length == 0 ||
                 obj instanceof Collection<?> && ((Collection<?>) 
obj).isEmpty() ||
-                obj instanceof Map<?,?> && ((Map<?,?>) obj).isEmpty()) {
+                obj instanceof Map<?,?> && ((Map<?,?>) obj).isEmpty() ||
+                obj instanceof Optional && ((Optional<?>) obj).isEmpty()) {
             return RETURN_EMPTY;
         }
         return RETURN_NOT_EMPTY;
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 316baea206..7f26c8144e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -355,6 +355,10 @@
         Add support for coercion to <code>java.time.Instant</code> and
         <code>java.util.Date</code>. (markt)
       </add>
+      <add>
+        Add support for <code>java.util.Optional</code> to the empty operator.
+        (markt)
+      </add>
       <!-- Entries for backport and removal before 12.0.0-M1 below this line 
-->
       <fix>
         <bug>69948</bug>: Avoid ArrayOutOfBoundsException instead of


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to