1 package fr.paris.lutece.plugins.extend.modules.rating.service.facade;
2
3 import java.util.function.Function;
4
5 /**
6 * Represents a function that accepts five arguments and produces a result.
7 * This is the two-arity specialization of {@link Function}.
8 *
9 * <p>This is a <a href="package-summary.html">functional interface</a>
10 * whose functional method is {@link #apply(Object, Object, object, object, object)}.
11 *
12 * @param <T> the type of the first argument to the function
13 * @param <U> the type of the second argument to the function
14 * @param <V> the type of the third argument to the function
15 * @param <W> the type of the fourth argument to the function
16 * @param <X> the type of the fourth argument to the function
17 * @param <R> the type of the result of the function
18 *
19 * @see Function
20 * @since 1.8
21 */
22 @FunctionalInterface
23 public interface QuinquaFunction<T, U, V, W, X ,R > {
24
25 /**
26 * Applies this function to the given arguments.
27 *
28 * @param t the type of the first argument to the function
29 * @param u the type of the second argument to the function
30 * @param v the type of the third argument to the function
31 * @param w the type of the fourth argument to the function
32 * @param X the type of the fourth argument to the function
33 * @return the function result
34 */
35 R apply(T t, U u, V v, W w, X x);
36 }