Class TransformingSpliterator<InternalV,​ExternalV>

  • All Implemented Interfaces:
    java.util.Spliterator<ExternalV>

    public final class TransformingSpliterator<InternalV,​ExternalV>
    extends java.lang.Object
    implements java.util.Spliterator<ExternalV>
    A TransformingSpliterator applies "just in time" transformations to an Spliterator<InternalV> in order to make it like an Spliterator<ExternalV>.

    The transformations are applied "just in time", that is, the values are converted only when they are used, not during the construction of the TransformingSpliterator.

    See Also:
    TransformingMap
    • 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 inherited from interface java.util.Spliterator

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

      • TransformingSpliterator

        public TransformingSpliterator​(java.util.Spliterator<InternalV> internalSpliterator,
                                       java.util.function.Function<? super InternalV,​? extends ExternalV> readTransformation,
                                       java.util.function.Function<? super ExternalV,​? extends InternalV> writeTransformation)
    • Method Detail

      • tryAdvance

        public boolean tryAdvance​(java.util.function.Consumer<? super ExternalV> action)
        Specified by:
        tryAdvance in interface java.util.Spliterator<InternalV>
      • forEachRemaining

        public void forEachRemaining​(java.util.function.Consumer<? super ExternalV> action)
        Specified by:
        forEachRemaining in interface java.util.Spliterator<InternalV>
      • trySplit

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

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

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

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

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

        public java.util.Comparator<? super ExternalV> getComparator()
        Specified by:
        getComparator in interface java.util.Spliterator<InternalV>
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object