001 package fj; 002 003 /** 004 * A transformation function of arity-3 from <code>A</code>, <code>B</code> and <code>C</code> to 005 * <code>D</code>. This type can be represented using the Java 7 closure syntax. 006 * 007 * @version %build.number%<br> 008 * <ul> 009 * <li>$LastChangedRevision: 5 $</li> 010 * <li>$LastChangedDate: 2008-12-06 16:49:43 +1000 (Sat, 06 Dec 2008) $</li> 011 * </ul> 012 */ 013 public interface F3<A, B, C, D> { 014 /** 015 * Transform <code>A</code>, <code>B</code> and <code>C</code> to <code>D</code>. 016 * 017 * @param a The <code>A</code> to transform. 018 * @param b The <code>B</code> to transform. 019 * @param c The <code>C</code> to transform. 020 * @return The result of the transformation. 021 */ 022 D f(A a, B b, C c); 023 }