Interface Product4<_1,_2,_3,_4>
-
- Type Parameters:
_1
- The first element type_2
- The second element type_3
- The third element type_4
- The fourth element type
- All Known Subinterfaces:
Product5<_1,_2,_3,_4,_5>
,Product6<_1,_2,_3,_4,_5,_6>
,Product7<_1,_2,_3,_4,_5,_6,_7>
,Product8<_1,_2,_3,_4,_5,_6,_7,_8>
public interface Product4<_1,_2,_3,_4> extends Product3<_1,_2,_3>
A product with four values.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description _4
_4()
Retrieve the fourth element.default <R> R
into(Fn4<? super _1,? super _2,? super _3,? super _4,? extends R> fn)
Destructure and apply this product to a function accepting the same number of arguments as this product's slots.default Product4<_2,_1,_3,_4>
invert()
Rotate the first two slots of this product.static <_1,_2,_3,_4>
Product4<_1,_2,_3,_4>product(_1 _1, _2 _2, _3 _3, _4 _4)
Static factory method for creating a genericProduct4
.default Product4<_2,_3,_1,_4>
rotateL3()
Rotate the first three values of this product one slot to the left.default Product4<_2,_3,_4,_1>
rotateL4()
Rotate the first four values of this product one slot to the left.default Product4<_3,_1,_2,_4>
rotateR3()
Rotate the first three values of this product one slot to the right.default Product4<_4,_1,_2,_3>
rotateR4()
Rotate the first four values of this product one slot to the right.
-
-
-
Method Detail
-
_4
_4 _4()
Retrieve the fourth element.- Returns:
- the fourth element
-
into
default <R> R into(Fn4<? super _1,? super _2,? super _3,? super _4,? 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
-
rotateL4
default Product4<_2,_3,_4,_1> rotateL4()
Rotate the first four values of this product one slot to the left.- Returns:
- the left-rotated product
-
rotateR4
default Product4<_4,_1,_2,_3> rotateR4()
Rotate the first four values of this product one slot to the right.- Returns:
- the right-rotated product
-
rotateL3
default Product4<_2,_3,_1,_4> rotateL3()
Description copied from interface:Product3
Rotate the first three values of this product one slot to the left.
-
rotateR3
default Product4<_3,_1,_2,_4> rotateR3()
Description copied from interface:Product3
Rotate the first three values of this product one slot to the right.
-
invert
default Product4<_2,_1,_3,_4> invert()
Description copied from interface:Product2
Rotate the first two slots of this product.
-
product
static <_1,_2,_3,_4> Product4<_1,_2,_3,_4> product(_1 _1, _2 _2, _3 _3, _4 _4)
Static factory method for creating a genericProduct4
.- Type Parameters:
_1
- the first slot type_2
- the second slot type_3
- the third slot type_4
- the fourth slot type- Parameters:
_1
- the first slot_2
- the second slot_3
- the third slot_4
- the fourth slot- Returns:
- the
Product4
-
-