From 1e5c0786f4cc2c07c2ae37c306c57ef7b5f2cb1c Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 8 Nov 2022 14:10:00 +0100 Subject: [PATCH] [jOOQ/jOOQ#14186] All UOperator[N] types should extend UOperator, offering an ():List --- .../src/main/java/org/jooq/impl/Patterns.java | 1 - jOOQ/src/main/java/org/jooq/impl/QOM.java | 94 ++++++++++++++++++- 2 files changed, 89 insertions(+), 6 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Patterns.java b/jOOQ/src/main/java/org/jooq/impl/Patterns.java index 057ad33bd8..3fa363a22b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Patterns.java +++ b/jOOQ/src/main/java/org/jooq/impl/Patterns.java @@ -2262,6 +2262,5 @@ package org.jooq.impl; - diff --git a/jOOQ/src/main/java/org/jooq/impl/QOM.java b/jOOQ/src/main/java/org/jooq/impl/QOM.java index 8dac1bad73..7f5c9704dd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QOM.java +++ b/jOOQ/src/main/java/org/jooq/impl/QOM.java @@ -37,6 +37,7 @@ */ package org.jooq.impl; +import static java.util.Arrays.asList; import static java.util.Collections.unmodifiableCollection; import static java.util.Collections.unmodifiableList; import static java.util.Collections.unmodifiableMap; @@ -46,6 +47,7 @@ import java.math.BigDecimal; import java.sql.Date; import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -4556,6 +4558,7 @@ public final class QOM { //permits // XMLConcat { + @Override @NotNull default UnmodifiableList> $args() { return $arg1(); } } @@ -6287,6 +6290,54 @@ public final class QOM { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6675,11 +6726,20 @@ public final class QOM { // XXX: Utility API // ------------------------------------------------------------------------- - interface UOperator0 extends org.jooq.QueryPart { + interface UOperator extends org.jooq.QueryPart { + List $args(); + } + interface UOperator0 extends UOperator { @NotNull Function0 $constructor(); + @NotNull + @Override + default List $args() { + return Collections.emptyList(); + } + @@ -6700,7 +6760,7 @@ public final class QOM { } - interface UOperator1 extends org.jooq.QueryPart { + interface UOperator1 extends UOperator { Q1 $arg1(); @NotNull default R $arg1(Q1 newArg1) { return $constructor().apply(newArg1); } @@ -6708,6 +6768,12 @@ public final class QOM { @NotNull Function1 $constructor(); + @NotNull + @Override + default List $args() { + return unmodifiableList(asList($arg1())); + } + @@ -6729,7 +6795,7 @@ public final class QOM { } - interface UOperator2 extends org.jooq.QueryPart { + interface UOperator2 extends UOperator { Q1 $arg1(); Q2 $arg2(); @@ -6738,6 +6804,12 @@ public final class QOM { @NotNull Function2 $constructor(); + + @NotNull + @Override + default List $args() { + return unmodifiableList(asList($arg1(), $arg2())); + } @@ -6761,7 +6833,7 @@ public final class QOM { } - interface UOperator3 extends org.jooq.QueryPart { + interface UOperator3 extends UOperator { Q1 $arg1(); Q2 $arg2(); Q3 $arg3(); @@ -6772,6 +6844,12 @@ public final class QOM { @NotNull Function3 $constructor(); + @NotNull + @Override + default List $args() { + return unmodifiableList(asList($arg1(), $arg2(), $arg3())); + } + @@ -6795,7 +6873,7 @@ public final class QOM { } - interface UOperator4 extends org.jooq.QueryPart { + interface UOperator4 extends UOperator { Q1 $arg1(); Q2 $arg2(); Q3 $arg3(); @@ -6808,6 +6886,12 @@ public final class QOM { @NotNull Function4 $constructor(); + @NotNull + @Override + default List $args() { + return unmodifiableList(asList($arg1(), $arg2(), $arg3(), $arg4())); + } +