Package org.infinispan.commons.util
Class Closeables
- java.lang.Object
-
- org.infinispan.commons.util.Closeables
-
public class Closeables extends Object
This class consists exclusively of static methods that operate on or return closeable interfaces. This is helpful when wanting to change a given interface to an appropriate closeable interface.- Since:
- 8.0
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <E> CloseableIterator<E>
iterator(Iterator<? extends E> iterator)
Creates a closeable iterator from the given iterator that does nothing when close is called.static <R> CloseableIterator<R>
iterator(BaseStream<R,Stream<R>> stream)
Creates a closeable iterator that when closed will close the underlying stream as wellstatic <T> CloseableSpliterator<T>
spliterator(Spliterator<T> spliterator)
Creates a closeable spliterator from the given spliterator that does nothing when close is called.static <R> CloseableSpliterator<R>
spliterator(BaseStream<R,Stream<R>> stream)
Creates a closeable spliterator that when closed will close the underlying stream as wellstatic <E> CloseableSpliterator<E>
spliterator(CloseableIterator<? extends E> iterator, long size, int characteristics)
Takes a provided closeable iterator and wraps it appropriately so it can be used as a closeable spliterator that will close the iterator when the spliterator is closed.static <E> Stream<E>
stream(CloseableIterator<E> iterator, boolean parallel, long size, int characteristics)
Creates a stream that when closed will also close the underlying iteratorstatic <E> Stream<E>
stream(CloseableSpliterator<E> spliterator, boolean parallel)
Creates a stream that when closed will also close the underlying spliterator
-
-
-
Method Detail
-
spliterator
public static <E> CloseableSpliterator<E> spliterator(CloseableIterator<? extends E> iterator, long size, int characteristics)
Takes a provided closeable iterator and wraps it appropriately so it can be used as a closeable spliterator that will close the iterator when the spliterator is closed.- Type Parameters:
E
- The type that is the same between the iterator and spliterator- Parameters:
iterator
- The closeable iterator to change to a spliteratorsize
- The approximate size of the iterator. If no size is knownLong.MAX_VALUE
should be passedcharacteristics
- The characteristics of the given spliterator as defined on theSpliterator
interface- Returns:
- A spliterator that when closed will close the provided iterator
-
spliterator
public static <T> CloseableSpliterator<T> spliterator(Spliterator<T> spliterator)
Creates a closeable spliterator from the given spliterator that does nothing when close is called.- Type Parameters:
T
- The type of the spliterators- Parameters:
spliterator
- The spliterator to wrap to allow it to become a closeable spliterator.- Returns:
- A spliterator that does nothing when closed
-
spliterator
public static <R> CloseableSpliterator<R> spliterator(BaseStream<R,Stream<R>> stream)
Creates a closeable spliterator that when closed will close the underlying stream as well- Type Parameters:
R
- The type of the stream- Parameters:
stream
- The stream to change into a closeable spliterator- Returns:
- A spliterator that when closed will also close the underlying stream
-
iterator
public static <R> CloseableIterator<R> iterator(BaseStream<R,Stream<R>> stream)
Creates a closeable iterator that when closed will close the underlying stream as well- Type Parameters:
R
- The type of the stream- Parameters:
stream
- The stream to change into a closeable iterator- Returns:
- An iterator that when closed will also close the underlying stream
-
iterator
public static <E> CloseableIterator<E> iterator(Iterator<? extends E> iterator)
Creates a closeable iterator from the given iterator that does nothing when close is called.- Type Parameters:
E
- The type of the iterators- Parameters:
iterator
- The iterator to wrap to allow it to become a closeable iterator- Returns:
- An iterator that does nothing when closed
-
stream
public static <E> Stream<E> stream(CloseableSpliterator<E> spliterator, boolean parallel)
Creates a stream that when closed will also close the underlying spliterator- Type Parameters:
E
- the type of the stream- Parameters:
spliterator
- spliterator to back the stream and subsequently closeparallel
- whether or not the returned stream is parallel or not- Returns:
- the stream to use
-
stream
public static <E> Stream<E> stream(CloseableIterator<E> iterator, boolean parallel, long size, int characteristics)
Creates a stream that when closed will also close the underlying iterator- Type Parameters:
E
- the type of the stream- Parameters:
iterator
- iterator to back the stream and subsequently closeparallel
- whether or not the returned stream is parallel or notsize
- the size of the iterator if known, otherwiseLong.MAX_VALUE
should be passed.characteristics
- the characteristics of the iterator to be used- Returns:
- the stream to use
-
-