From cebe17c12703979a5d5a17ba07b789170900aadc Mon Sep 17 00:00:00 2001 From: lukaseder Date: Mon, 24 Apr 2017 14:57:00 +0200 Subject: [PATCH] [#6144] Let Queries extend QueryPart --- jOOQ/src/main/java/org/jooq/Queries.java | 2 +- .../main/java/org/jooq/impl/QueriesImpl.java | 28 ++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/Queries.java b/jOOQ/src/main/java/org/jooq/Queries.java index 4313012b05..4e2f067eb8 100644 --- a/jOOQ/src/main/java/org/jooq/Queries.java +++ b/jOOQ/src/main/java/org/jooq/Queries.java @@ -41,7 +41,7 @@ import java.util.stream.Stream; * * @author Lukas Eder */ -public interface Queries extends Iterable { +public interface Queries extends QueryPart, Iterable { /** * The wrapped collection of queries. diff --git a/jOOQ/src/main/java/org/jooq/impl/QueriesImpl.java b/jOOQ/src/main/java/org/jooq/impl/QueriesImpl.java index 5ca3226936..b797bf8e2c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QueriesImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/QueriesImpl.java @@ -40,13 +40,20 @@ import java.util.Collection; import java.util.Iterator; import java.util.stream.Stream; +import org.jooq.Clause; +import org.jooq.Context; import org.jooq.Queries; import org.jooq.Query; /** * @author Lukas Eder */ -final class QueriesImpl implements Queries { +final class QueriesImpl extends AbstractQueryPart implements Queries { + + /** + * Generated UID + */ + private static final long serialVersionUID = 261452207127914269L; private final Collection queries; @@ -54,6 +61,10 @@ final class QueriesImpl implements Queries { this.queries = queries; } + // ------------------------------------------------------------------------ + // Queries API + // ------------------------------------------------------------------------ + @Override public final Query[] queries() { return queries.toArray(EMPTY_QUERY); @@ -78,6 +89,21 @@ final class QueriesImpl implements Queries { } + // ------------------------------------------------------------------------ + // QueryPart API + // ------------------------------------------------------------------------ + + @Override + public final void accept(Context ctx) { + for (Query query : this) + ctx.visit(query).sql(';').formatNewLine(); + } + + @Override + public final Clause[] clauses(Context ctx) { + return null; + } + // ------------------------------------------------------------------------ // Object API // ------------------------------------------------------------------------