Interface QueryUtils
public interface QueryUtils
-
Method Summary
Static MethodsModifier and TypeMethodDescriptionstatic <V,ID, R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,V>> query(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<ID, V> defaultResultProvider, Collector<R, ?, Map<ID, V>> mapCollector) static <ID,R, IDC extends Collection<ID>, RC extends Collection<R>>
@NotNull reactor.core.publisher.Mono<Map<ID,RC>> queryOneToMany(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Supplier<RC> collectionFactory) static <ID,R, IDC extends Collection<ID>, RC extends Collection<R>>
@NotNull reactor.core.publisher.Mono<Map<ID,RC>> queryOneToMany(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Supplier<RC> collectionFactory, MapFactory<ID, RC> mapFactory) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,List<R>>> queryOneToManyAsList(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,List<R>>> queryOneToManyAsList(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, MapFactory<ID, List<R>> mapFactory) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,Set<R>>> queryOneToManyAsSet(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,Set<R>>> queryOneToManyAsSet(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, MapFactory<ID, Set<R>> mapFactory) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, MapFactory<ID, R> mapFactory) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Function<ID, R> defaultResultProvider) static <ID,R, IDC extends Collection<ID>>
@NotNull reactor.core.publisher.Mono<Map<ID,R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Function<ID, R> defaultResultProvider, MapFactory<ID, R> mapFactory) static <T,R, C extends Iterable<? extends T>>
@NotNull reactor.core.publisher.Flux<R>
-
Method Details
-
queryOneToOne
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults) -
queryOneToOne
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, MapFactory<ID, R> mapFactory) -
queryOneToOne
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Function<ID, R> defaultResultProvider) -
queryOneToOne
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> R>> queryOneToOne(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Function<ID, R> defaultResultProvider, MapFactory<ID, R> mapFactory) -
queryOneToManyAsList
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> List<R>>> queryOneToManyAsList(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults) -
queryOneToManyAsList
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> List<R>>> queryOneToManyAsList(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, MapFactory<ID, List<R>> mapFactory) -
queryOneToManyAsSet
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> Set<R>>> queryOneToManyAsSet(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults) -
queryOneToManyAsSet
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>> Set<R>>> queryOneToManyAsSet(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, MapFactory<ID, Set<R>> mapFactory) -
queryOneToMany
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>, RC extends Collection<R>> RC>> queryOneToMany(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Supplier<RC> collectionFactory) -
queryOneToMany
@NotNull static <ID,R, @NotNull reactor.core.publisher.Mono<Map<ID,IDC extends Collection<ID>, RC extends Collection<R>> RC>> queryOneToMany(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<R, ID> idExtractorFromQueryResults, Supplier<RC> collectionFactory, MapFactory<ID, RC> mapFactory) -
query
@NotNull static <V,ID, @NotNull reactor.core.publisher.Mono<Map<ID,R, IDC extends Collection<ID>> V>> query(IDC ids, Function<IDC, org.reactivestreams.Publisher<R>> queryFunction, Function<ID, V> defaultResultProvider, Collector<R, ?, Map<ID, V>> mapCollector) - Type Parameters:
V- Type of each value representing the result fromqueryFunctionassociated with each ID, will map to either<R>when called fromqueryOneToOneor<RC>when called fromqueryOneToManyi.e. a collection of<R>. This is conceptually a union type<R> | <RC>ID- Type of the ids passed toqueryFunctione.g.Long,StringR- Type of individual results returned from the queryFunctionIDC- Type of theCollectioncontaining the ids of type<ID>e.g.List<Long>,Set<String>, etc. e.g.List<Customer>,Set<Order>, etc.- Parameters:
ids- The collection of ids to pass to thequeryFunctionqueryFunction- The query function to call (rest call, spring data repository method call, etc.)defaultResultProvider- The default value to generate if no result for a specific id passed to thequeryFunctione.g. an empty collection, a default value, an empty string, etc.mapCollector- The collector used to collect the stream of results returned byqueryFunction. It will transform a stream of results to aMap<ID, V>- Returns:
- A
Mapof the results from invoking thequeryFunctionwith key = correlation ID, value = result associated with ID
-
safeApply
-