All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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