Package org.jdbi.v3.core.result
Interface ResultIterable<T>
- Type Parameters:
T
- iterable element type
- All Superinterfaces:
Iterable<T>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
-
Method Summary
Modifier and TypeMethodDescriptiondefault <R> R
Collect the results into a container specified by a collector.Returns the first row in the result set, if present.findOne()
Returns the only row in the result set, if any.default T
first()
Returns the first row in the result set.default void
iterator()
Stream all the rows of the result set out with anIterator
.list()
Returns results in aList
.default <U> ResultIterable<U>
Returns aResultIterable<U>
derived from thisResultIterable<T>
, by transforming elements using the given mapper function.static <T> ResultIterable<T>
of
(Supplier<ResultSet> supplier, RowMapper<T> mapper, StatementContext ctx) Returns a ResultIterable backed by the given result set supplier, mapper, and context.static <T> ResultIterable<T>
of
(ResultIterator<T> iterator) Returns a ResultIterable backed by the given iterator.default T
one()
Returns the only row in the result set.default <U> U
reduce
(U identity, BiFunction<U, T, U> accumulator) Reduce the results.stream()
Returns the stream of results.default <X extends Exception>
voiduseStream
(StreamConsumer<T, X> consumer) Passes the stream of results to the consumer.default <R,
X extends Exception>
RwithStream
(StreamCallback<T, R, X> callback) Passes the stream of results to the callback.Methods inherited from interface java.lang.Iterable
spliterator
-
Method Details
-
of
static <T> ResultIterable<T> of(Supplier<ResultSet> supplier, RowMapper<T> mapper, StatementContext ctx) Returns a ResultIterable backed by the given result set supplier, mapper, and context.- Type Parameters:
T
- the mapped type- Parameters:
supplier
- result set suppliermapper
- row mapperctx
- statement context- Returns:
- the result iterable
-
of
Returns a ResultIterable backed by the given iterator.- Type Parameters:
T
- iterator element type- Parameters:
iterator
- the result iterator- Returns:
- a ResultIterable
-
iterator
ResultIterator<T> iterator()Stream all the rows of the result set out with anIterator
. TheIterator
must be closed to release database resources. -
map
Returns aResultIterable<U>
derived from thisResultIterable<T>
, by transforming elements using the given mapper function.- Type Parameters:
U
- Element type of the returned ResultIterable- Parameters:
mapper
- function to apply to elements of this ResultIterable- Returns:
- the new ResultIterable
-
forEach
-
one
Returns the only row in the result set. Returnsnull
if the row itself isnull
.- Returns:
- the only row in the result set.
- Throws:
IllegalStateException
- if the result set contains zero or multiple rows
-
findOne
Returns the only row in the result set, if any. ReturnsOptional.empty()
if zero rows are returned, or if the row itself isnull
.- Returns:
- the only row in the result set, if any.
- Throws:
IllegalStateException
- if the result set contains multiple rows
-
first
Returns the first row in the result set. Returnsnull
if the row itself isnull
.- Returns:
- the first row in the result set.
- Throws:
IllegalStateException
- if zero rows are returned
-
findFirst
Returns the first row in the result set, if present. ReturnsOptional.empty()
if zero rows are returned or the first row isnull
.- Returns:
- the first row in the result set, if present.
-
stream
Returns the stream of results.Note: the returned stream owns database resources, and must be closed via a call to
BaseStream.close()
, or by using the stream in a try-with-resources block:try (Stream<T> stream = query.stream()) { // do stuff with stream }
- Returns:
- the stream of results.
- See Also:
-
useStream
Passes the stream of results to the consumer. Database resources owned by the query are released before this method returns.- Type Parameters:
X
- the exception type thrown by the callback, if any- Parameters:
consumer
- a consumer which receives the stream of results.- Throws:
X
- any exception thrown by the callback
-
withStream
Passes the stream of results to the callback. Database resources owned by the query are released before this method returns.- Type Parameters:
R
- the type returned by the callbackX
- the exception type thrown by the callback, if any- Parameters:
callback
- a callback which receives the stream of results, and returns some result.- Returns:
- the value returned by the callback.
- Throws:
X
- any exception thrown by the callback
-
list
Returns results in aList
.- Returns:
- results in a
List
.
-
collect
Collect the results into a container specified by a collector.- Type Parameters:
R
- the generic type of the container- Parameters:
collector
- the collector- Returns:
- the container with the query result
-
reduce
Reduce the results. Using aBiFunction<U, T, U>
, repeatedly combine query results until only a single value remains.- Type Parameters:
U
- the accumulator type- Parameters:
identity
- theU
to combine with the first resultaccumulator
- the function to apply repeatedly- Returns:
- the final
U
-