Interface Product5<_1,_2,_3,_4,_5>

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
All Superinterfaces:
Map.Entry<_1,_2>, Product2<_1,_2>, Product3<_1,_2,_3>, Product4<_1,_2,_3,_4>
All Known Subinterfaces:
Product6<_1,_2,_3,_4,_5,_6>, Product7<_1,_2,_3,_4,_5,_6,_7>, Product8<_1,_2,_3,_4,_5,_6,_7,_8>
All Known Implementing Classes:
Tuple5, Tuple6, Tuple7, Tuple8

public interface Product5<_1,_2,_3,_4,_5> extends Product4<_1,_2,_3,_4>
A product with five values.
See Also:
  • Method Details

    • _5

      _5 _5()
      Retrieve the fifth element.
      Returns:
      the fifth element
    • into

      default <R> R into(Fn5<? super _1, ? super _2, ? super _3, ? super _4, ? super _5, ? 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
    • rotateL5

      default Product5<_2,_3,_4,_5,_1> rotateL5()
      Rotate the first five values of this product one slot to the left.
      Returns:
      the left-rotated product
    • rotateR5

      default Product5<_5,_1,_2,_3,_4> rotateR5()
      Rotate the first five values of this product one slot to the right.
      Returns:
      the right-rotated product
    • rotateL4

      default Product5<_2,_3,_4,_1,_5> 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>
      Returns:
      the left-rotated product
    • rotateR4

      default Product5<_4,_1,_2,_3,_5> 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>
      Returns:
      the right-rotated product
    • rotateL3

      default Product5<_2,_3,_1,_4,_5> 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>
      Returns:
      the left-rotated product
    • rotateR3

      default Product5<_3,_1,_2,_4,_5> 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>
      Returns:
      the right-rotated product
    • invert

      default Product5<_2,_1,_3,_4,_5> 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>
      Returns:
      the rotated product
    • product

      static <_1,_2,_3,_4,_5> Product5<_1,_2,_3,_4,_5> product(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5)
      Static factory method for creating a generic Product5.
      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
      Parameters:
      _1 - the first slot
      _2 - the second slot
      _3 - the third slot
      _4 - the fourth slot
      _5 - the fifth slot
      Returns:
      the Product5