
com.tinkerpop.gremlin.util.StreamFactory Maven / Gradle / Ivy
package com.tinkerpop.gremlin.util;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Spliterator;
import java.util.Spliterators;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
/**
* Utility methods for constructing {@link java.util.stream.Stream} objects.
*
* @author Marko A. Rodriguez (http://markorodriguez.com)
*/
public class StreamFactory {
/**
* Construct a {@link java.util.stream.Stream} from an {@link Iterable}.
*/
public static Stream stream(final Iterable iterable) {
return StreamFactory.stream(iterable.iterator());
}
/**
* Construct a parallel {@link java.util.stream.Stream} from an {@link Iterable}.
*/
public static Stream parallelStream(final Iterable iterable) {
return StreamFactory.parallelStream(iterable.iterator());
}
/**
* Construct a {@link java.util.stream.Stream} from an {@link java.util.Iterator}.
*/
public static Stream stream(final Iterator iterator) {
return StreamSupport.stream(Spliterators.spliteratorUnknownSize(iterator, Spliterator.IMMUTABLE), false);
}
/**
* Construct a parallel {@link java.util.stream.Stream} from an {@link java.util.Iterator}.
*/
public static Stream parallelStream(final Iterator iterator) {
return StreamSupport.stream(Spliterators.spliteratorUnknownSize(iterator, Spliterator.IMMUTABLE), true);
}
/**
* Construct an {@link Iterable} from an {@link java.util.stream.Stream}.
*/
public static Iterable iterable(final Stream stream) {
return () -> stream.iterator();
}
public static Stream stream(final T t) {
return Arrays.asList(t).stream();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy