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);