Package io.vavr

Class Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>

  • Type Parameters:
    T1 - type of the 1st element
    T2 - type of the 2nd element
    T3 - type of the 3rd element
    T4 - type of the 4th element
    T5 - type of the 5th element
    T6 - type of the 6th element
    T7 - type of the 7th element
    T8 - type of the 8th element
    All Implemented Interfaces:
    Tuple, java.io.Serializable, java.lang.Comparable<Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>>

    public final class Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
    extends java.lang.Object
    implements Tuple, java.lang.Comparable<Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>>, java.io.Serializable
    A tuple of 8 elements which can be seen as cartesian product of 8 components.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      T1 _1
      The 1st element of this tuple.
      T2 _2
      The 2nd element of this tuple.
      T3 _3
      The 3rd element of this tuple.
      T4 _4
      The 4th element of this tuple.
      T5 _5
      The 5th element of this tuple.
      T6 _6
      The 6th element of this tuple.
      T7 _7
      The 7th element of this tuple.
      T8 _8
      The 8th element of this tuple.
      private static long serialVersionUID  
    • Constructor Summary

      Constructors 
      Constructor Description
      Tuple8​(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
      Constructs a tuple of 8 elements.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T1 _1()
      Getter of the 1st element of this tuple.
      T2 _2()
      Getter of the 2nd element of this tuple.
      T3 _3()
      Getter of the 3rd element of this tuple.
      T4 _4()
      Getter of the 4th element of this tuple.
      T5 _5()
      Getter of the 5th element of this tuple.
      T6 _6()
      Getter of the 6th element of this tuple.
      T7 _7()
      Getter of the 7th element of this tuple.
      T8 _8()
      Getter of the 8th element of this tuple.
      <U> U apply​(Function8<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​? super T6,​? super T7,​? super T8,​? extends U> f)
      Transforms this tuple to an object of type U.
      int arity()
      Returns the number of elements of this tuple.
      static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
      java.util.Comparator<Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>>
      comparator​(java.util.Comparator<? super T1> t1Comp, java.util.Comparator<? super T2> t2Comp, java.util.Comparator<? super T3> t3Comp, java.util.Comparator<? super T4> t4Comp, java.util.Comparator<? super T5> t5Comp, java.util.Comparator<? super T6> t6Comp, java.util.Comparator<? super T7> t7Comp, java.util.Comparator<? super T8> t8Comp)  
      private static <U1 extends java.lang.Comparable<? super U1>,​U2 extends java.lang.Comparable<? super U2>,​U3 extends java.lang.Comparable<? super U3>,​U4 extends java.lang.Comparable<? super U4>,​U5 extends java.lang.Comparable<? super U5>,​U6 extends java.lang.Comparable<? super U6>,​U7 extends java.lang.Comparable<? super U7>,​U8 extends java.lang.Comparable<? super U8>>
      int
      compareTo​(Tuple8<?,​?,​?,​?,​?,​?,​?,​?> o1, Tuple8<?,​?,​?,​?,​?,​?,​?,​?> o2)  
      int compareTo​(Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> that)  
      boolean equals​(java.lang.Object o)  
      int hashCode()  
      <U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8>
      Tuple8<U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8>
      map​(Function8<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​? super T6,​? super T7,​? super T8,​Tuple8<U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8>> mapper)
      Maps the components of this tuple using a mapper function.
      <U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8>
      Tuple8<U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8>
      map​(java.util.function.Function<? super T1,​? extends U1> f1, java.util.function.Function<? super T2,​? extends U2> f2, java.util.function.Function<? super T3,​? extends U3> f3, java.util.function.Function<? super T4,​? extends U4> f4, java.util.function.Function<? super T5,​? extends U5> f5, java.util.function.Function<? super T6,​? extends U6> f6, java.util.function.Function<? super T7,​? extends U7> f7, java.util.function.Function<? super T8,​? extends U8> f8)
      Maps the components of this tuple using a mapper function for each component.
      <U> Tuple8<U,​T2,​T3,​T4,​T5,​T6,​T7,​T8> map1​(java.util.function.Function<? super T1,​? extends U> mapper)
      Maps the 1st component of this tuple to a new value.
      <U> Tuple8<T1,​U,​T3,​T4,​T5,​T6,​T7,​T8> map2​(java.util.function.Function<? super T2,​? extends U> mapper)
      Maps the 2nd component of this tuple to a new value.
      <U> Tuple8<T1,​T2,​U,​T4,​T5,​T6,​T7,​T8> map3​(java.util.function.Function<? super T3,​? extends U> mapper)
      Maps the 3rd component of this tuple to a new value.
      <U> Tuple8<T1,​T2,​T3,​U,​T5,​T6,​T7,​T8> map4​(java.util.function.Function<? super T4,​? extends U> mapper)
      Maps the 4th component of this tuple to a new value.
      <U> Tuple8<T1,​T2,​T3,​T4,​U,​T6,​T7,​T8> map5​(java.util.function.Function<? super T5,​? extends U> mapper)
      Maps the 5th component of this tuple to a new value.
      <U> Tuple8<T1,​T2,​T3,​T4,​T5,​U,​T7,​T8> map6​(java.util.function.Function<? super T6,​? extends U> mapper)
      Maps the 6th component of this tuple to a new value.
      <U> Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​U,​T8> map7​(java.util.function.Function<? super T7,​? extends U> mapper)
      Maps the 7th component of this tuple to a new value.
      <U> Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​U> map8​(java.util.function.Function<? super T8,​? extends U> mapper)
      Maps the 8th component of this tuple to a new value.
      Seq<?> toSeq()
      Converts this tuple to a sequence.
      java.lang.String toString()  
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update1​(T1 value)
      Sets the 1st element of this tuple to the given value.
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update2​(T2 value)
      Sets the 2nd element of this tuple to the given value.
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update3​(T3 value)
      Sets the 3rd element of this tuple to the given value.
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update4​(T4 value)
      Sets the 4th element of this tuple to the given value.
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update5​(T5 value)
      Sets the 5th element of this tuple to the given value.
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update6​(T6 value)
      Sets the 6th element of this tuple to the given value.
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update7​(T7 value)
      Sets the 7th element of this tuple to the given value.
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update8​(T8 value)
      Sets the 8th element of this tuple to the given value.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • _1

        public final T1 _1
        The 1st element of this tuple.
      • _2

        public final T2 _2
        The 2nd element of this tuple.
      • _3

        public final T3 _3
        The 3rd element of this tuple.
      • _4

        public final T4 _4
        The 4th element of this tuple.
      • _5

        public final T5 _5
        The 5th element of this tuple.
      • _6

        public final T6 _6
        The 6th element of this tuple.
      • _7

        public final T7 _7
        The 7th element of this tuple.
      • _8

        public final T8 _8
        The 8th element of this tuple.
    • Constructor Detail

      • Tuple8

        public Tuple8​(T1 t1,
                      T2 t2,
                      T3 t3,
                      T4 t4,
                      T5 t5,
                      T6 t6,
                      T7 t7,
                      T8 t8)
        Constructs a tuple of 8 elements.
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        t4 - the 4th element
        t5 - the 5th element
        t6 - the 6th element
        t7 - the 7th element
        t8 - the 8th element
    • Method Detail

      • comparator

        public static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> java.util.Comparator<Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>> comparator​(java.util.Comparator<? super T1> t1Comp,
                                                                                                                                                                                                     java.util.Comparator<? super T2> t2Comp,
                                                                                                                                                                                                     java.util.Comparator<? super T3> t3Comp,
                                                                                                                                                                                                     java.util.Comparator<? super T4> t4Comp,
                                                                                                                                                                                                     java.util.Comparator<? super T5> t5Comp,
                                                                                                                                                                                                     java.util.Comparator<? super T6> t6Comp,
                                                                                                                                                                                                     java.util.Comparator<? super T7> t7Comp,
                                                                                                                                                                                                     java.util.Comparator<? super T8> t8Comp)
      • compareTo

        private static <U1 extends java.lang.Comparable<? super U1>,​U2 extends java.lang.Comparable<? super U2>,​U3 extends java.lang.Comparable<? super U3>,​U4 extends java.lang.Comparable<? super U4>,​U5 extends java.lang.Comparable<? super U5>,​U6 extends java.lang.Comparable<? super U6>,​U7 extends java.lang.Comparable<? super U7>,​U8 extends java.lang.Comparable<? super U8>> int compareTo​(Tuple8<?,​?,​?,​?,​?,​?,​?,​?> o1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                 Tuple8<?,​?,​?,​?,​?,​?,​?,​?> o2)
      • arity

        public int arity()
        Description copied from interface: Tuple
        Returns the number of elements of this tuple.
        Specified by:
        arity in interface Tuple
        Returns:
        the number of elements.
      • compareTo

        public int compareTo​(Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> that)
        Specified by:
        compareTo in interface java.lang.Comparable<T1>
      • _1

        public T1 _1()
        Getter of the 1st element of this tuple.
        Returns:
        the 1st element of this Tuple.
      • update1

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update1​(T1 value)
        Sets the 1st element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 1st element of this Tuple.
      • _2

        public T2 _2()
        Getter of the 2nd element of this tuple.
        Returns:
        the 2nd element of this Tuple.
      • update2

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update2​(T2 value)
        Sets the 2nd element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 2nd element of this Tuple.
      • _3

        public T3 _3()
        Getter of the 3rd element of this tuple.
        Returns:
        the 3rd element of this Tuple.
      • update3

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update3​(T3 value)
        Sets the 3rd element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 3rd element of this Tuple.
      • _4

        public T4 _4()
        Getter of the 4th element of this tuple.
        Returns:
        the 4th element of this Tuple.
      • update4

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update4​(T4 value)
        Sets the 4th element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 4th element of this Tuple.
      • _5

        public T5 _5()
        Getter of the 5th element of this tuple.
        Returns:
        the 5th element of this Tuple.
      • update5

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update5​(T5 value)
        Sets the 5th element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 5th element of this Tuple.
      • _6

        public T6 _6()
        Getter of the 6th element of this tuple.
        Returns:
        the 6th element of this Tuple.
      • update6

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update6​(T6 value)
        Sets the 6th element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 6th element of this Tuple.
      • _7

        public T7 _7()
        Getter of the 7th element of this tuple.
        Returns:
        the 7th element of this Tuple.
      • update7

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update7​(T7 value)
        Sets the 7th element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 7th element of this Tuple.
      • _8

        public T8 _8()
        Getter of the 8th element of this tuple.
        Returns:
        the 8th element of this Tuple.
      • update8

        public Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> update8​(T8 value)
        Sets the 8th element of this tuple to the given value.
        Parameters:
        value - the new value
        Returns:
        a copy of this tuple with a new value for the 8th element of this Tuple.
      • map

        public <U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8> Tuple8<U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8> map​(Function8<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​? super T6,​? super T7,​? super T8,​Tuple8<U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8>> mapper)
        Maps the components of this tuple using a mapper function.
        Type Parameters:
        U1 - new type of the 1st component
        U2 - new type of the 2nd component
        U3 - new type of the 3rd component
        U4 - new type of the 4th component
        U5 - new type of the 5th component
        U6 - new type of the 6th component
        U7 - new type of the 7th component
        U8 - new type of the 8th component
        Parameters:
        mapper - the mapper function
        Returns:
        A new Tuple of same arity.
        Throws:
        java.lang.NullPointerException - if mapper is null
      • map

        public <U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8> Tuple8<U1,​U2,​U3,​U4,​U5,​U6,​U7,​U8> map​(java.util.function.Function<? super T1,​? extends U1> f1,
                                                                                                                                                                 java.util.function.Function<? super T2,​? extends U2> f2,
                                                                                                                                                                 java.util.function.Function<? super T3,​? extends U3> f3,
                                                                                                                                                                 java.util.function.Function<? super T4,​? extends U4> f4,
                                                                                                                                                                 java.util.function.Function<? super T5,​? extends U5> f5,
                                                                                                                                                                 java.util.function.Function<? super T6,​? extends U6> f6,
                                                                                                                                                                 java.util.function.Function<? super T7,​? extends U7> f7,
                                                                                                                                                                 java.util.function.Function<? super T8,​? extends U8> f8)
        Maps the components of this tuple using a mapper function for each component.
        Type Parameters:
        U1 - new type of the 1st component
        U2 - new type of the 2nd component
        U3 - new type of the 3rd component
        U4 - new type of the 4th component
        U5 - new type of the 5th component
        U6 - new type of the 6th component
        U7 - new type of the 7th component
        U8 - new type of the 8th component
        Parameters:
        f1 - the mapper function of the 1st component
        f2 - the mapper function of the 2nd component
        f3 - the mapper function of the 3rd component
        f4 - the mapper function of the 4th component
        f5 - the mapper function of the 5th component
        f6 - the mapper function of the 6th component
        f7 - the mapper function of the 7th component
        f8 - the mapper function of the 8th component
        Returns:
        A new Tuple of same arity.
        Throws:
        java.lang.NullPointerException - if one of the arguments is null
      • map1

        public <U> Tuple8<U,​T2,​T3,​T4,​T5,​T6,​T7,​T8> map1​(java.util.function.Function<? super T1,​? extends U> mapper)
        Maps the 1st component of this tuple to a new value.
        Type Parameters:
        U - new type of the 1st component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 1st component
      • map2

        public <U> Tuple8<T1,​U,​T3,​T4,​T5,​T6,​T7,​T8> map2​(java.util.function.Function<? super T2,​? extends U> mapper)
        Maps the 2nd component of this tuple to a new value.
        Type Parameters:
        U - new type of the 2nd component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 2nd component
      • map3

        public <U> Tuple8<T1,​T2,​U,​T4,​T5,​T6,​T7,​T8> map3​(java.util.function.Function<? super T3,​? extends U> mapper)
        Maps the 3rd component of this tuple to a new value.
        Type Parameters:
        U - new type of the 3rd component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 3rd component
      • map4

        public <U> Tuple8<T1,​T2,​T3,​U,​T5,​T6,​T7,​T8> map4​(java.util.function.Function<? super T4,​? extends U> mapper)
        Maps the 4th component of this tuple to a new value.
        Type Parameters:
        U - new type of the 4th component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 4th component
      • map5

        public <U> Tuple8<T1,​T2,​T3,​T4,​U,​T6,​T7,​T8> map5​(java.util.function.Function<? super T5,​? extends U> mapper)
        Maps the 5th component of this tuple to a new value.
        Type Parameters:
        U - new type of the 5th component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 5th component
      • map6

        public <U> Tuple8<T1,​T2,​T3,​T4,​T5,​U,​T7,​T8> map6​(java.util.function.Function<? super T6,​? extends U> mapper)
        Maps the 6th component of this tuple to a new value.
        Type Parameters:
        U - new type of the 6th component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 6th component
      • map7

        public <U> Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​U,​T8> map7​(java.util.function.Function<? super T7,​? extends U> mapper)
        Maps the 7th component of this tuple to a new value.
        Type Parameters:
        U - new type of the 7th component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 7th component
      • map8

        public <U> Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​U> map8​(java.util.function.Function<? super T8,​? extends U> mapper)
        Maps the 8th component of this tuple to a new value.
        Type Parameters:
        U - new type of the 8th component
        Parameters:
        mapper - A mapping function
        Returns:
        a new tuple based on this tuple and substituted 8th component
      • apply

        public <U> U apply​(Function8<? super T1,​? super T2,​? super T3,​? super T4,​? super T5,​? super T6,​? super T7,​? super T8,​? extends U> f)
        Transforms this tuple to an object of type U.
        Type Parameters:
        U - type of the transformation result
        Parameters:
        f - Transformation which creates a new object of type U based on this tuple's contents.
        Returns:
        An object of type U
        Throws:
        java.lang.NullPointerException - if f is null
      • toSeq

        public Seq<?> toSeq()
        Description copied from interface: Tuple
        Converts this tuple to a sequence.
        Specified by:
        toSeq in interface Tuple
        Returns:
        A new Seq.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

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