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

storm.rx.StormUpdateManyRxStream Maven / Gradle / Ivy

The newest version!
package storm.rx;

import java.util.Collection;

import rx.Observable;
import storm.core.StormObject;
import storm.core.StormUpdateManyDispatcher;

/**
 * Created by Dimitry Ivanov on 21.12.2015.
 */
public class StormUpdateManyRxStream implements StormRxStreamSingleValue {

    private final StormRx mStorm;
    private final Collection mValues;
    private final StormUpdateManyDispatcher mDispatcher;

    StormUpdateManyRxStream(StormUpdateManyRx updateMany) {
        mStorm = updateMany.storm();
        mValues = updateMany.values();
        mDispatcher = updateMany.dispatcher();
    }

    @Override
    public Observable create() {

        final StormRxObservable.ValueProvider provider = new StormRxObservable.ValueProvider() {
            @Override
            public Integer provide() {
                return mDispatcher.update(mStorm, mValues);
            }
        };

        return StormRxObservable.createOneShot(mStorm, provider);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy