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

picard.util.Iterators Maven / Gradle / Ivy

The newest version!
package picard.util;


import java.util.Iterator;
import java.util.Optional;

/**
 * @author mccowan
 */
public class Iterators {
    public static  AtomicIterator atomicIteratorOf(final Iterable backingIterable) {
        return atomicIteratorOf(backingIterable.iterator());
    }

    public static  AtomicIterator atomicIteratorOf(final Iterator backingIterator) {
        final Object monitor = new Object();
        return () -> {
            synchronized (monitor) {
                return backingIterator.hasNext() ? Optional.ofNullable(backingIterator.next()) : Optional.empty();
            }
        };
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy