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 Object
Helper class used by the CustomizingStatementHandlers to assemble the result Collection, Iterable, etc.
  • Constructor Details

    • ResultReturner

      ResultReturner()
  • Method Details

    • forOptionalReturn

      static ResultReturner forOptionalReturn(Class<?> extensionType, Method method)
      If the return type is void, swallow results.
      Parameters:
      extensionType - The extension type to use.
      method - The method to use.
      Returns:
      A ResultReturner
      See Also:
    • forMethod

      static ResultReturner forMethod(Class<?> extensionType, 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 Method
      method - the method whose return type chooses the ResultReturner
      Returns:
      an instance that takes a ResultIterable and constructs the return value. Never null.
    • findConsumer

      static Optional<ResultReturner> findConsumer(Method method)
      Inspect a Method for a Consumer to 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 Object mappedResult(ResultIterable<?> iterable, StatementContext ctx)
    • reducedResult

      protected abstract Object reducedResult(Stream<?> stream, StatementContext ctx)
    • elementType

      protected abstract QualifiedType<?> elementType(ConfigRegistry config)
    • warm

      protected void warm(ConfigRegistry config)
    • checkResult

      private static Object checkResult(Object result, QualifiedType<?> type)