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

github-merge-queue[bot] pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 5e918f399a [Improve] [API] Deprecate Expression in favor of Condition 
(#11882)
5e918f399a is described below

commit 5e918f399afad1876366c14ff2bc6b84ed09c5e5
Author: zhiweiniu <[email protected]>
AuthorDate: Sun Sep 13 08:17:41 2026 +0000

    [Improve] [API] Deprecate Expression in favor of Condition (#11882)
    
    Co-authored-by: David Zollo <[email protected]>
---
 .../apache/seatunnel/api/configuration/util/Expression.java  | 12 ++++++++++++
 .../seatunnel/api/configuration/util/RequiredOption.java     |  7 +++++++
 2 files changed, 19 insertions(+)

diff --git 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/Expression.java
 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/Expression.java
index a2061ce4a7..423f6d3f78 100644
--- 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/Expression.java
+++ 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/Expression.java
@@ -21,6 +21,18 @@ import org.apache.seatunnel.api.configuration.Option;
 
 import java.util.Objects;
 
+/**
+ * A compatibility wrapper for composing a chain of {@link Condition 
conditions}.
+ *
+ * @deprecated {@link Condition} provides the preferred condition-chain 
composition API through
+ *     {@link Condition#and(Condition)} and {@link Condition#or(Condition)}. 
Use {@link Condition}
+ *     directly for new code. Existing {@code Expression} chains that mix AND 
and OR should be
+ *     reviewed when migrating because the two representations are currently 
evaluated through
+ *     different validation paths. This class is retained temporarily for 
source compatibility with
+ *     downstream extensions and may be removed in a future API cleanup after 
the compatibility
+ *     window.
+ */
+@Deprecated
 public class Expression {
     private final Condition<?> condition;
     private Boolean and = null;
diff --git 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/RequiredOption.java
 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/RequiredOption.java
index 1dd197b135..db7a11bb39 100644
--- 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/RequiredOption.java
+++ 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/RequiredOption.java
@@ -125,6 +125,13 @@ public interface RequiredOption {
             this.requiredOption = requiredOption;
         }
 
+        /**
+         * Creates conditional required options from the legacy expression 
wrapper.
+         *
+         * @deprecated Use {@link #of(Condition, List)} for new code. This 
overload is retained
+         *     temporarily for source compatibility with downstream extensions.
+         */
+        @Deprecated
         public static ConditionalRequiredOptions of(
                 Expression expression, List<Option<?>> requiredOption) {
             return new ConditionalRequiredOptions(expression, requiredOption);

Reply via email to