org.danilopianini.lang.TriFunction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javalib Show documentation
Show all versions of javalib Show documentation
Handful shortcuts for Java programming
/*
* Copyright (C) 2010-2014, Danilo Pianini and contributors
* listed in the project's pom.xml file.
*
* This file is part of Alchemist, and is distributed under the terms of
* the GNU General Public License, with a linking exception, as described
* in the file LICENSE in the Alchemist distribution's top directory.
*/
package org.danilopianini.lang;
import java.util.function.Function;
/**
* Represents a function that accepts three arguments and produces a result.
* This is the three-arity specialization of {@link Function}.
*
* This is a functional interface
* whose functional method is {@link #apply(Object, Object, Object)}.
*
* @author Danilo Pianini
*
* @param the type of the first argument to the function
* @param the type of the second argument to the function
* @param the type of the third argument to the function
* @param the type of the result of the function
*/
@FunctionalInterface
public interface TriFunction {
/**
* Applies this function to the given arguments.
*
* @param a the first function argument
* @param b the second function argument
* @param c the third function argument
* @return the function result
*/
R apply(A a, B b, C c);
}