Class ResultReturner
- java.lang.Object
-
- org.jdbi.v3.sqlobject.statement.internal.ResultReturner
-
- Direct Known Subclasses:
ResultReturner.CollectedResultReturner,ResultReturner.ConsumerResultReturner,ResultReturner.IteratorReturner,ResultReturner.ResultIterableReturner,ResultReturner.ResultIteratorReturner,ResultReturner.SingleValueReturner,ResultReturner.StreamReturner,ResultReturner.VoidReturner
abstract class ResultReturner extends java.lang.ObjectHelper class used by theCustomizingStatementHandlers to assemble the result Collection, Iterable, etc.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classResultReturner.CollectedResultReturner<T>(package private) static classResultReturner.ConsumeEachResultReturner(package private) static classResultReturner.ConsumeIterableResultReturner(package private) static classResultReturner.ConsumeIteratorResultReturner(package private) static classResultReturner.ConsumerResultReturner(package private) static classResultReturner.ConsumeStreamResultReturner(package private) static classResultReturner.IteratorReturner(package private) static classResultReturner.ResultIterableReturner(package private) static classResultReturner.ResultIteratorReturner(package private) static classResultReturner.SingleValueReturner<T>(package private) static classResultReturner.StreamReturner(package private) static classResultReturner.VoidReturner
-
Constructor Summary
Constructors Constructor Description ResultReturner()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private static java.lang.ObjectcheckResult(java.lang.Object result, QualifiedType<?> type)protected abstract QualifiedType<?>elementType(ConfigRegistry config)(package private) static java.util.Optional<ResultReturner>findConsumer(java.lang.reflect.Method method)Inspect a Method for aConsumerto execute for each produced row.(package private) static ResultReturnerforMethod(java.lang.Class<?> extensionType, java.lang.reflect.Method method)Inspect a Method for its return type, and choose a ResultReturner subclass that handles any container that might wrap the results.(package private) static ResultReturnerforOptionalReturn(java.lang.Class<?> extensionType, java.lang.reflect.Method method)If the return type isvoid, swallow results.protected abstract java.lang.ObjectmappedResult(ResultIterable<?> iterable, StatementContext ctx)protected abstract java.lang.ObjectreducedResult(java.util.stream.Stream<?> stream, StatementContext ctx)protected voidwarm(ConfigRegistry config)
-
-
-
Method Detail
-
forOptionalReturn
static ResultReturner forOptionalReturn(java.lang.Class<?> extensionType, java.lang.reflect.Method method)
If the return type isvoid, swallow results.- Parameters:
extensionType- The extension type to use.method- The method to use.- Returns:
- A
ResultReturner - See Also:
if the return type is not void
-
forMethod
static ResultReturner forMethod(java.lang.Class<?> extensionType, java.lang.reflect.Method method)
Inspect a Method for its return type, and choose a ResultReturner subclass that handles any container that might wrap the results.- Parameters:
extensionType- the type that owns the Methodmethod- the method whose return type chooses the ResultReturner- Returns:
- an instance that takes a ResultIterable and constructs the return value. Never null.
-
findConsumer
static java.util.Optional<ResultReturner> findConsumer(java.lang.reflect.Method method)
Inspect a Method for aConsumerto execute for each produced row.- Parameters:
method- the method called- Returns:
- a ResultReturner that invokes the consumer and does not return a value
-
mappedResult
protected abstract java.lang.Object mappedResult(ResultIterable<?> iterable, StatementContext ctx)
-
reducedResult
protected abstract java.lang.Object reducedResult(java.util.stream.Stream<?> stream, StatementContext ctx)
-
elementType
protected abstract QualifiedType<?> elementType(ConfigRegistry config)
-
warm
protected void warm(ConfigRegistry config)
-
checkResult
private static java.lang.Object checkResult(java.lang.Object result, QualifiedType<?> type)
-
-