// Copyright © 2015 HSL <https://www.hsl.fi>
// This program is dual-licensed under the EUPL v1.2 and AGPLv3 licenses.
package fi.hsl.parkandride.back;
import java.util.Iterator;
import java.util.Optional;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public class StreamUtil {
public static <T> Stream<T> asStream(Optional<T> optional) {
return optional.map(Stream::of).orElse(Stream.empty());
}
public static <T> Stream<T> asStream(Iterator<T> iterator) {
return asStream(iterator, false);
}
public static <T> Stream<T> asStream(Iterator<T> iterator, boolean parallel) {
Iterable<T> iterable = () -> iterator;
return StreamSupport.stream(iterable.spliterator(), parallel);
}
}