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:
    java.util.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:
    Product2, Tuple6
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      _6 _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> invert()
      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> rotateL3()
      Rotate the first three values of this product one slot to the left.
      default Product6<_2,​_3,​_4,​_1,​_5,​_6> rotateL4()
      Rotate the first four values of this product one slot to the left.
      default Product6<_2,​_3,​_4,​_5,​_1,​_6> rotateL5()
      Rotate the first five values of this product one slot to the left.
      default Product6<_2,​_3,​_4,​_5,​_6,​_1> rotateL6()
      Rotate the first six values of this product one slot to the left.
      default Product6<_3,​_1,​_2,​_4,​_5,​_6> rotateR3()
      Rotate the first three values of this product one slot to the right.
      default Product6<_4,​_1,​_2,​_3,​_5,​_6> rotateR4()
      Rotate the first four values of this product one slot to the right.
      default Product6<_5,​_1,​_2,​_3,​_4,​_6> rotateR5()
      Rotate the first five values of this product one slot to the right.
      default Product6<_6,​_1,​_2,​_3,​_4,​_5> rotateR6()
      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.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 Detail

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