net.sf.staccatocommons.defs.Applicable3 Maven / Gradle / Ivy
/**
* Copyright (c) 2010-2012, The StaccatoCommons Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*/
package net.sf.staccatocommons.defs;
/**
* {@link Applicable3}s are transformations that take three arguments and have a
* return value, by implementing an {@link #apply(Object, Object, Object)}
* method
*
*
* @author flbulgarelli
*
* @param
* first argument type
* @param
* second argument type
* @param
* third argument type
* @param
* return type
* @see Applicative Recomendations for implementing
*/
@Applicative
public interface Applicable3 {
/**
* Performs a transformation on the given element, and returns its result.
*
* @param arg0
* the first transformation argument
* @param arg1
* the second transformation argument
* @param arg2
* the third transformation argument
* @return the transformation result
*/
D apply(A arg0, B arg1, C arg2);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy