Class SpliteratorMapper<E,​S>

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.util.Spliterator<S>, CloseableSpliterator<S>
    Direct Known Subclasses:
    CloseableSpliteratorMapper

    public class SpliteratorMapper<E,​S>
    extends java.lang.Object
    implements CloseableSpliterator<S>
    A spliterator that has been mapped from another spliterator. This is nice to only lazily convert these values, so that you can convert across multiple threads or if the entire spliterator is not consumed.

    This spliterator will always throw an IllegalStateException upon invocation of Spliterator.getComparator() since there is no trivial way of converting this with a mapper.

    Since:
    9.0
    Author:
    wburns
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Spliterator

        java.util.Spliterator.OfDouble, java.util.Spliterator.OfInt, java.util.Spliterator.OfLong, java.util.Spliterator.OfPrimitive<T extends java.lang.Object,​T_CONS extends java.lang.Object,​T_SPLITR extends java.util.Spliterator.OfPrimitive<T,​T_CONS,​T_SPLITR>>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.function.Function<? super E,​? extends S> mapper  
      protected java.util.Spliterator<E> spliterator  
      • Fields inherited from interface java.util.Spliterator

        CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
    • Constructor Summary

      Constructors 
      Constructor Description
      SpliteratorMapper​(java.util.Spliterator<E> spliterator, java.util.function.Function<? super E,​? extends S> mapper)  
    • Field Detail

      • spliterator

        protected final java.util.Spliterator<E> spliterator
      • mapper

        protected final java.util.function.Function<? super E,​? extends S> mapper
    • Constructor Detail

      • SpliteratorMapper

        public SpliteratorMapper​(java.util.Spliterator<E> spliterator,
                                 java.util.function.Function<? super E,​? extends S> mapper)
    • Method Detail

      • tryAdvance

        public boolean tryAdvance​(java.util.function.Consumer<? super S> action)
        Specified by:
        tryAdvance in interface java.util.Spliterator<E>
      • trySplit

        public java.util.Spliterator<S> trySplit()
        Specified by:
        trySplit in interface java.util.Spliterator<E>
      • estimateSize

        public long estimateSize()
        Specified by:
        estimateSize in interface java.util.Spliterator<E>
      • characteristics

        public int characteristics()
        Specified by:
        characteristics in interface java.util.Spliterator<E>
      • forEachRemaining

        public void forEachRemaining​(java.util.function.Consumer<? super S> action)
        Specified by:
        forEachRemaining in interface java.util.Spliterator<E>
      • getExactSizeIfKnown

        public long getExactSizeIfKnown()
        Specified by:
        getExactSizeIfKnown in interface java.util.Spliterator<E>
      • hasCharacteristics

        public boolean hasCharacteristics​(int characteristics)
        Specified by:
        hasCharacteristics in interface java.util.Spliterator<E>
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface CloseableSpliterator<E>