From 79d4b8b58f329a1e366bfec731b2a230d3f93c92 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Tue, 9 May 2017 15:30:51 +0200 Subject: [PATCH] [#6196] Override Iterable.forEach(Consumer) in ResultQuery to provide Javadoc --- jOOQ/src/main/java/org/jooq/ResultQuery.java | 34 ++++++++++++++++--- .../org/jooq/SelectLimitAfterOffsetStep.java | 4 +-- .../main/java/org/jooq/SelectLimitStep.java | 12 +++---- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/ResultQuery.java b/jOOQ/src/main/java/org/jooq/ResultQuery.java index 8a162a77ca..282c7d24b6 100644 --- a/jOOQ/src/main/java/org/jooq/ResultQuery.java +++ b/jOOQ/src/main/java/org/jooq/ResultQuery.java @@ -44,9 +44,11 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.Spliterator; import java.util.concurrent.CompletionStage; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; +import java.util.function.Consumer; import java.util.stream.Stream; import javax.sql.DataSource; @@ -130,11 +132,8 @@ public interface ResultQuery extends Query, Iterable { ResultSet fetchResultSet() throws DataAccessException; /** - * Execute the query and return the generated result. - *

- * This is essentially the same as {@link #fetch()}, except that being - * declared in {@link Iterable}, this method can be used in Java 5 foreach - * statements. + * Execute the query using {@link #fetch()} and return the generated result + * as an {@link Iterator}. *

* {@inheritDoc} */ @@ -142,6 +141,31 @@ public interface ResultQuery extends Query, Iterable { Iterator iterator() throws DataAccessException; + + /** + * Execute the query using {@link #fetch()} and pass all results to a + * consumer. + *

+ * This is essentially the same as {@link #fetch()}. + *

+ * {@inheritDoc} + */ + @Override + default void forEach(Consumer action) { + Iterable.super.forEach(action); + } + + /** + * Execute the query using {@link #fetch()} and return the generated result + * as an {@link Spliterator}. + *

+ * {@inheritDoc} + */ + @Override + default Spliterator spliterator() { + return Iterable.super.spliterator(); + } + /** * Stream this query. *

diff --git a/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java b/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java index 98e01e71fc..87f49e8751 100644 --- a/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java +++ b/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java @@ -103,7 +103,7 @@ public interface SelectLimitAfterOffsetStep extends SelectForU * function and nested SELECT statements. */ @Support - SelectForUpdateStep limit(int numberOfRows); + SelectWithTiesAfterOffsetStep limit(int numberOfRows); /** * Add a LIMIT clause to the query using named parameters @@ -118,6 +118,6 @@ public interface SelectLimitAfterOffsetStep extends SelectForU * statements. */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - SelectForUpdateStep limit(Param numberOfRows); + SelectWithTiesAfterOffsetStep limit(Param numberOfRows); } diff --git a/jOOQ/src/main/java/org/jooq/SelectLimitStep.java b/jOOQ/src/main/java/org/jooq/SelectLimitStep.java index 7eb045b891..1f8658e7f8 100644 --- a/jOOQ/src/main/java/org/jooq/SelectLimitStep.java +++ b/jOOQ/src/main/java/org/jooq/SelectLimitStep.java @@ -107,7 +107,7 @@ public interface SelectLimitStep extends SelectForUpdateStep.limit(numberOfRows).offset(0) */ @Support - SelectOffsetStep limit(int numberOfRows); + SelectWithTiesStep limit(int numberOfRows); /** * Add a LIMIT clause to the query using named parameters @@ -125,7 +125,7 @@ public interface SelectLimitStep extends SelectForUpdateStep.limit(numberOfRows).offset(0) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - SelectOffsetStep limit(Param numberOfRows); + SelectWithTiesStep limit(Param numberOfRows); /** * Add a LIMIT clause to the query @@ -139,7 +139,7 @@ public interface SelectLimitStep extends SelectForUpdateStepSELECT statements. */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - SelectForUpdateStep limit(int offset, int numberOfRows); + SelectWithTiesAfterOffsetStep limit(int offset, int numberOfRows); /** * Add a LIMIT clause to the query using named parameters @@ -154,7 +154,7 @@ public interface SelectLimitStep extends SelectForUpdateStepSELECT statements. */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - SelectForUpdateStep limit(int offset, Param numberOfRows); + SelectWithTiesAfterOffsetStep limit(int offset, Param numberOfRows); /** * Add a LIMIT clause to the query using named parameters @@ -169,7 +169,7 @@ public interface SelectLimitStep extends SelectForUpdateStepSELECT statements. */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - SelectForUpdateStep limit(Param offset, int numberOfRows); + SelectWithTiesAfterOffsetStep limit(Param offset, int numberOfRows); /** * Add a LIMIT clause to the query using named parameters @@ -184,7 +184,7 @@ public interface SelectLimitStep extends SelectForUpdateStepSELECT statements. */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - SelectForUpdateStep limit(Param offset, Param numberOfRows); + SelectWithTiesAfterOffsetStep limit(Param offset, Param numberOfRows); /** * Add an OFFSET clause to the query