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

picard.util.Iterators Maven / Gradle / Ivy

Go to download

A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.

There is a newer version: 3.2.0
Show 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 - 2024 Weber Informatics LLC | Privacy Policy