Interface QueryUtils
-
public interface QueryUtils
-
-
Method Summary
Static Methods Modifier and Type Method Description static <V,ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,V>>query(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<ID,V> defaultResultProvider, java.util.stream.Collector<R,?,java.util.Map<ID,V>> mapCollector)
static <ID,R,IDC extends java.util.Collection<ID>,RC extends java.util.Collection<R>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,RC>>queryOneToMany(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Supplier<RC> collectionFactory)
static <ID,R,IDC extends java.util.Collection<ID>,RC extends java.util.Collection<R>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,RC>>queryOneToMany(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Supplier<RC> collectionFactory, MapFactory<ID,RC> mapFactory)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,java.util.List<R>>>queryOneToManyAsList(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,java.util.List<R>>>queryOneToManyAsList(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, MapFactory<ID,java.util.List<R>> mapFactory)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,java.util.Set<R>>>queryOneToManyAsSet(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,java.util.Set<R>>>queryOneToManyAsSet(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, MapFactory<ID,java.util.Set<R>> mapFactory)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,R>>queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,R>>queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, MapFactory<ID,R> mapFactory)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,R>>queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Function<ID,R> defaultResultProvider)
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable>
reactor.core.publisher.Mono<java.util.Map<ID,R>>queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Function<ID,R> defaultResultProvider, MapFactory<ID,R> mapFactory)
static <T,R,C extends java.util.Collection<? extends T>,EX extends java.lang.Throwable>
reactor.core.publisher.Flux<R>safeApply(C coll, io.github.pellse.util.function.checked.CheckedFunction1<C,org.reactivestreams.Publisher<R>,EX> queryFunction)
-
-
-
Method Detail
-
queryOneToOne
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,R>> queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults)
-
queryOneToOne
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,R>> queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, MapFactory<ID,R> mapFactory)
-
queryOneToOne
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,R>> queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Function<ID,R> defaultResultProvider)
-
queryOneToOne
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,R>> queryOneToOne(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Function<ID,R> defaultResultProvider, MapFactory<ID,R> mapFactory)
-
queryOneToManyAsList
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,java.util.List<R>>> queryOneToManyAsList(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults)
-
queryOneToManyAsList
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,java.util.List<R>>> queryOneToManyAsList(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, MapFactory<ID,java.util.List<R>> mapFactory)
-
queryOneToManyAsSet
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,java.util.Set<R>>> queryOneToManyAsSet(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults)
-
queryOneToManyAsSet
static <ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,java.util.Set<R>>> queryOneToManyAsSet(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, MapFactory<ID,java.util.Set<R>> mapFactory)
-
queryOneToMany
static <ID,R,IDC extends java.util.Collection<ID>,RC extends java.util.Collection<R>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,RC>> queryOneToMany(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Supplier<RC> collectionFactory)
-
queryOneToMany
static <ID,R,IDC extends java.util.Collection<ID>,RC extends java.util.Collection<R>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,RC>> queryOneToMany(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<R,ID> idExtractorFromQueryResults, java.util.function.Supplier<RC> collectionFactory, MapFactory<ID,RC> mapFactory)
-
query
static <V,ID,R,IDC extends java.util.Collection<ID>,EX extends java.lang.Throwable> reactor.core.publisher.Mono<java.util.Map<ID,V>> query(IDC ids, io.github.pellse.util.function.checked.CheckedFunction1<IDC,org.reactivestreams.Publisher<R>,EX> queryFunction, java.util.function.Function<ID,V> defaultResultProvider, java.util.stream.Collector<R,?,java.util.Map<ID,V>> mapCollector)
- Type Parameters:
V
- Type of each value representing the result fromqueryFunction
associated with each ID, will map to either<R>
when called fromqueryOneToOne
or<RC>
when called fromqueryOneToMany
i.e. a collection of<R>
. This is conceptually a union type<R> | <RC>
ID
- Type of the ids passed toqueryFunction
e.g.Long
,String
R
- Type of individual results returned from the queryFunctionIDC
- Type of theCollection
containing the ids of type<ID>
e.g.List<Long>
,Set<String>
, etc. e.g.List<Customer>
,Set<Order>
, etc.EX
- Type of the exception that can be thrown by thequeryFunction
- Parameters:
ids
- The collection of ids to pass to thequeryFunction
queryFunction
- 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 thequeryFunction
e.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
Map
of the results from invoking thequeryFunction
with key = correlation ID, value = result associated with ID
-
safeApply
static <T,R,C extends java.util.Collection<? extends T>,EX extends java.lang.Throwable> reactor.core.publisher.Flux<R> safeApply(C coll, io.github.pellse.util.function.checked.CheckedFunction1<C,org.reactivestreams.Publisher<R>,EX> queryFunction)
-
-