Package io.vavr

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

java.lang.Object
io.vavr.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, Serializable, Comparable<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>

public final class Tuple8<T1,T2,T3,T4,T5,T6,T7,T8> extends Object implements Tuple, Comparable<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>, Serializable
A tuple of 8 elements which can be seen as cartesian product of 8 components.
Author:
Daniel Dietrich
See Also:
  • Field Details

    • _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 Details

    • 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 Details

    • comparator

      public static <T1, T2, T3, T4, T5, T6, T7, T8> Comparator<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> comparator(Comparator<? super T1> t1Comp, Comparator<? super T2> t2Comp, Comparator<? super T3> t3Comp, Comparator<? super T4> t4Comp, Comparator<? super T5> t5Comp, Comparator<? super T6> t6Comp, Comparator<? super T7> t7Comp, Comparator<? super T8> t8Comp)
    • 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 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:
      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(Function<? super T1,? extends U1> f1, Function<? super T2,? extends U2> f2, Function<? super T3,? extends U3> f3, Function<? super T4,? extends U4> f4, Function<? super T5,? extends U5> f5, Function<? super T6,? extends U6> f6, Function<? super T7,? extends U7> f7, 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:
      NullPointerException - if one of the arguments is null
    • map1

      public <U> Tuple8<U,T2,T3,T4,T5,T6,T7,T8> map1(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(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(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(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(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(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(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(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:
      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(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class Object