Interface Product6<_1,_2,_3,_4,_5,_6>

Type Parameters:
_1 - The first element type
_2 - The second element type
_3 - The third element type
_4 - The fourth element type
_5 - The fifth element type
_6 - The sixth element type
All Superinterfaces:
Map.Entry<_1,_2>, Product2<_1,_2>, Product3<_1,_2,_3>, Product4<_1,_2,_3,_4>, Product5<_1,_2,_3,_4,_5>
All Known Subinterfaces:
Product7<_1,_2,_3,_4,_5,_6,_7>, Product8<_1,_2,_3,_4,_5,_6,_7,_8>
All Known Implementing Classes:
Tuple6, Tuple7, Tuple8

public interface Product6<_1,_2,_3,_4,_5,_6> extends Product5<_1,_2,_3,_4,_5>
A product with six values.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    _6()
    Retrieve the sixth element.
    default <R> R
    into(Fn6<? super _1,? super _2,? super _3,? super _4,? super _5,? super _6,? extends R> fn)
    Destructure and apply this product to a function accepting the same number of arguments as this product's slots.
    default Product6<_2,_1,_3,_4,_5,_6>
    Rotate the first two slots of this product.
    static <_1, _2, _3, _4, _5, _6>
    Product6<_1,_2,_3,_4,_5,_6>
    product(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5, _6 _6)
    Static factory method for creating a generic Product6.
    default Product6<_2,_3,_1,_4,_5,_6>
    Rotate the first three values of this product one slot to the left.
    default Product6<_2,_3,_4,_1,_5,_6>
    Rotate the first four values of this product one slot to the left.
    default Product6<_2,_3,_4,_5,_1,_6>
    Rotate the first five values of this product one slot to the left.
    default Product6<_2,_3,_4,_5,_6,_1>
    Rotate the first six values of this product one slot to the left.
    default Product6<_3,_1,_2,_4,_5,_6>
    Rotate the first three values of this product one slot to the right.
    default Product6<_4,_1,_2,_3,_5,_6>
    Rotate the first four values of this product one slot to the right.
    default Product6<_5,_1,_2,_3,_4,_6>
    Rotate the first five values of this product one slot to the right.
    default Product6<_6,_1,_2,_3,_4,_5>
    Rotate the first six values of this product one slot to the right.

    Methods inherited from interface java.util.Map.Entry

    equals, hashCode

    Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product2

    _1, _2, getKey, getValue, into, setValue

    Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product3

    _3, into

    Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product4

    _4, into

    Methods inherited from interface com.jnape.palatable.lambda.adt.product.Product5

    _5, into
  • Method Details

    • _6

      _6 _6()
      Retrieve the sixth element.
      Returns:
      the sixth element
    • into

      default <R> R into(Fn6<? super _1,? super _2,? super _3,? super _4,? super _5,? super _6,? extends R> fn)
      Destructure and apply this product to a function accepting the same number of arguments as this product's slots. This can be thought of as a kind of dual to uncurrying a function and applying a product to it.
      Type Parameters:
      R - the return type of the function
      Parameters:
      fn - the function to apply
      Returns:
      the result of applying the destructured product to the function
    • rotateL6

      default Product6<_2,_3,_4,_5,_6,_1> rotateL6()
      Rotate the first six values of this product one slot to the left.
      Returns:
      the left-rotated product
    • rotateR6

      default Product6<_6,_1,_2,_3,_4,_5> rotateR6()
      Rotate the first six values of this product one slot to the right.
      Returns:
      the right-rotated product
    • rotateL5

      default Product6<_2,_3,_4,_5,_1,_6> rotateL5()
      Description copied from interface: Product5
      Rotate the first five values of this product one slot to the left.
      Specified by:
      rotateL5 in interface Product5<_1,_2,_3,_4,_5>
      Returns:
      the left-rotated product
    • rotateR5

      default Product6<_5,_1,_2,_3,_4,_6> rotateR5()
      Description copied from interface: Product5
      Rotate the first five values of this product one slot to the right.
      Specified by:
      rotateR5 in interface Product5<_1,_2,_3,_4,_5>
      Returns:
      the right-rotated product
    • rotateL4

      default Product6<_2,_3,_4,_1,_5,_6> rotateL4()
      Description copied from interface: Product4
      Rotate the first four values of this product one slot to the left.
      Specified by:
      rotateL4 in interface Product4<_1,_2,_3,_4>
      Specified by:
      rotateL4 in interface Product5<_1,_2,_3,_4,_5>
      Returns:
      the left-rotated product
    • rotateR4

      default Product6<_4,_1,_2,_3,_5,_6> rotateR4()
      Description copied from interface: Product4
      Rotate the first four values of this product one slot to the right.
      Specified by:
      rotateR4 in interface Product4<_1,_2,_3,_4>
      Specified by:
      rotateR4 in interface Product5<_1,_2,_3,_4,_5>
      Returns:
      the right-rotated product
    • rotateL3

      default Product6<_2,_3,_1,_4,_5,_6> rotateL3()
      Description copied from interface: Product3
      Rotate the first three values of this product one slot to the left.
      Specified by:
      rotateL3 in interface Product3<_1,_2,_3>
      Specified by:
      rotateL3 in interface Product4<_1,_2,_3,_4>
      Specified by:
      rotateL3 in interface Product5<_1,_2,_3,_4,_5>
      Returns:
      the left-rotated product
    • rotateR3

      default Product6<_3,_1,_2,_4,_5,_6> rotateR3()
      Description copied from interface: Product3
      Rotate the first three values of this product one slot to the right.
      Specified by:
      rotateR3 in interface Product3<_1,_2,_3>
      Specified by:
      rotateR3 in interface Product4<_1,_2,_3,_4>
      Specified by:
      rotateR3 in interface Product5<_1,_2,_3,_4,_5>
      Returns:
      the right-rotated product
    • invert

      default Product6<_2,_1,_3,_4,_5,_6> invert()
      Description copied from interface: Product2
      Rotate the first two slots of this product.
      Specified by:
      invert in interface Product2<_1,_2>
      Specified by:
      invert in interface Product3<_1,_2,_3>
      Specified by:
      invert in interface Product4<_1,_2,_3,_4>
      Specified by:
      invert in interface Product5<_1,_2,_3,_4,_5>
      Returns:
      the rotated product
    • product

      static <_1, _2, _3, _4, _5, _6> Product6<_1,_2,_3,_4,_5,_6> product(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5, _6 _6)
      Static factory method for creating a generic Product6.
      Type Parameters:
      _1 - the first slot type
      _2 - the second slot type
      _3 - the third slot type
      _4 - the fourth slot type
      _5 - the fifth slot type
      _6 - the sixth slot type
      Parameters:
      _1 - the first slot
      _2 - the second slot
      _3 - the third slot
      _4 - the fourth slot
      _5 - the fifth slot
      _6 - the sixth slot
      Returns:
      the Product6