Interface DomainResultAssembler<J>

All Known Implementing Classes:
ArgumentReader, BasicResultAssembler, CoercingResultAssembler, CollectionAssembler, DynamicInstantiationAssemblerConstructorImpl, DynamicInstantiationAssemblerInjectionImpl, DynamicInstantiationAssemblerListImpl, DynamicInstantiationAssemblerMapImpl, EmbeddableAssembler, EntityAssembler, NullValueAssembler, TupleResultAssembler, UnfetchedBasicPartResultAssembler, UnfetchedCollectionAssembler, UnfetchedResultAssembler

@Incubating public interface DomainResultAssembler<J>
Responsible for "assembling" a result for inclusion in the domain query result. "Assembling" the result basically means building the result object (whatever that means for a specific result type) and returning it for injection into the result "row" currently being processed
  • Method Details

    • assemble

      @Nullable J assemble(RowProcessingState rowProcessingState)
      The main "assembly" contract. Assemble the result and return it.
    • getAssembledJavaType

      JavaType<J> getAssembledJavaType()
      The JavaType describing the Java type that this assembler assembles.
    • resolveState

      default void resolveState(RowProcessingState rowProcessingState)
      This method is used to resolve the assembler's state, i.e. reading the result values, with some performance optimization when we don't need the result object itself
    • getInitializer

      default @Nullable Initializer<?> getInitializer()
    • forEachResultAssembler

      default <X> void forEachResultAssembler(BiConsumer<Initializer<?>,X> consumer, X arg)
      Invokes the consumer with every initializer part of this assembler that returns true for Initializer.isResultInitializer().