
io.sphere.sdk.queries.ExperimentalReactiveStreamUtils Maven / Gradle / Ivy
package io.sphere.sdk.queries;
import io.sphere.sdk.client.SphereClient;
import io.sphere.sdk.models.Identifiable;
import org.reactivestreams.Publisher;
import java.util.List;
import java.util.concurrent.CompletionStage;
import java.util.function.Function;
public final class ExperimentalReactiveStreamUtils {
private ExperimentalReactiveStreamUtils() {
}
public static , C extends QueryDsl> Publisher publisherOf(final QueryDsl seedQuery, final SphereClient sphereClient) {
return publisherOf(seedQuery, identifiable -> identifiable.getId(),sphereClient);
}
public static > Publisher publisherOf(final QueryDsl seedQuery, final Function idExtractor, final SphereClient sphereClient) {
return new QueryEndpointElementsPublisher(seedQuery, idExtractor, sphereClient);
}
public static CompletionStage> collectAll(final Publisher publisher) {
final CollectAllSubscriber collectAllSubscriber = new CollectAllSubscriber<>();
publisher.subscribe(collectAllSubscriber);
return collectAllSubscriber.getCompletionStage();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy