From 4882d723ba204462c3ee26c93f61c8ccbb7fc1f5 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 23 Jan 2023 09:28:44 +0100 Subject: [PATCH] [jOOQ/jOOQ#14537] Add org.jooq.True, org.jooq.False, and org.jooq.Null to QOM API --- .../java/org/jooq/impl/FalseCondition.java | 10 ++++++- .../java/org/jooq/impl/NullCondition.java | 10 ++++++- jOOQ/src/main/java/org/jooq/impl/QOM.java | 30 +++++++++++++++++++ .../java/org/jooq/impl/TrueCondition.java | 10 ++++++- 4 files changed, 57 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/FalseCondition.java b/jOOQ/src/main/java/org/jooq/impl/FalseCondition.java index 911798469f..947531d5cb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FalseCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/FalseCondition.java @@ -51,7 +51,15 @@ import org.jooq.impl.QOM.UEmpty; /** * @author Lukas Eder */ -final class FalseCondition extends AbstractCondition implements False, UEmpty, SimpleQueryPart { +final class FalseCondition +extends + AbstractCondition +implements + False, + QOM.False, + UEmpty, + SimpleQueryPart +{ private static final Clause[] CLAUSES = { CONDITION, CONDITION_COMPARISON }; static final FalseCondition INSTANCE = new FalseCondition(); diff --git a/jOOQ/src/main/java/org/jooq/impl/NullCondition.java b/jOOQ/src/main/java/org/jooq/impl/NullCondition.java index e99ff30ec5..810ea02816 100644 --- a/jOOQ/src/main/java/org/jooq/impl/NullCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/NullCondition.java @@ -57,7 +57,15 @@ import org.jooq.impl.QOM.UEmpty; /** * @author Lukas Eder */ -final class NullCondition extends AbstractCondition implements Null, UEmpty, SimpleQueryPart { +final class NullCondition +extends + AbstractCondition +implements + Null, + QOM.Null, + UEmpty, + SimpleQueryPart +{ private static final Clause[] CLAUSES = { CONDITION, CONDITION_COMPARISON }; static final NullCondition INSTANCE = new NullCondition(); diff --git a/jOOQ/src/main/java/org/jooq/impl/QOM.java b/jOOQ/src/main/java/org/jooq/impl/QOM.java index 395279459c..4ef04f1d7d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QOM.java +++ b/jOOQ/src/main/java/org/jooq/impl/QOM.java @@ -840,6 +840,36 @@ public final class QOM { // XXX: Conditions // ------------------------------------------------------------------------- + /** + * A {@link Condition} that is always TRUE. + */ + public sealed interface True + extends + Condition + permits + TrueCondition + {} + + /** + * A {@link Condition} that is always FALSE. + */ + public sealed interface False + extends + Condition + permits + FalseCondition + {} + + /** + * A {@link Condition} that is always NULL. + */ + public sealed interface Null + extends + Condition + permits + NullCondition + {} + /** * A {@link Condition} consisting of two {@link Condition} operands and a * binary logic {@link Operator}. diff --git a/jOOQ/src/main/java/org/jooq/impl/TrueCondition.java b/jOOQ/src/main/java/org/jooq/impl/TrueCondition.java index 0ae16e1f2d..a42b1f503c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TrueCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/TrueCondition.java @@ -71,7 +71,15 @@ import org.jooq.impl.QOM.UEmpty; /** * @author Lukas Eder */ -final class TrueCondition extends AbstractCondition implements True, UEmpty, SimpleQueryPart { +final class TrueCondition +extends + AbstractCondition +implements + True, + QOM.True, + UEmpty, + SimpleQueryPart +{ private static final Clause[] CLAUSES = { CONDITION, CONDITION_COMPARISON }; static final TrueCondition INSTANCE = new TrueCondition();