Package net.storm.api.commons
Interface TriFunction<T,U,V,R>
- Type Parameters:
T- the type of the first argumentU- the type of the second argumentV- the type of the third argumentR- the type of the result
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Represents a function that accepts three arguments and produces a result.
This is a functional interface extending the concept of Function
and BiFunction to support three input parameters. It is useful when
you need to pass multiple related values to a single computation.
Example usage:
// Define a function that calculates volume
TriFunction<Integer, Integer, Integer, Integer> volume =
(length, width, height) -> length * width * height;
// Apply the function
int result = volume.apply(10, 5, 3); // Returns 150
// Chain with another function
TriFunction<Integer, Integer, Integer, String> formatted =
volume.andThen(v -> "Volume: " + v + " cubic units");
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault <K> TriFunction<T, U, V, K> Returns a composed function that first applies this function to its input, and then applies theafterfunction to the result.Applies this function to the given arguments.
-
Method Details
-
apply
Applies this function to the given arguments.- Parameters:
t- the first function argumentu- the second function argumentv- the third function argument- Returns:
- the function result
-
andThen
Returns a composed function that first applies this function to its input, and then applies theafterfunction to the result.If evaluation of either function throws an exception, it is relayed to the caller of the composed function.
- Type Parameters:
K- the type of output of theafterfunction, and of the composed function- Parameters:
after- the function to apply after this function is applied- Returns:
- a composed function that first applies this function and then
applies the
afterfunction - Throws:
NullPointerException- ifafteris null
-