001 package fj; 002 003 /** 004 * A transformation function of arity-4 from <code>A</code>, <code>B</code>, <code>C</code> and 005 * <code>D</code> to <code>E</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 F4<A, B, C, D, E> { 014 /** 015 * Transform <code>A</code>, <code>B</code>, <code>C</code> and <code>D</code> to <code>E</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 * @param d The <code>D</code> to transform. 021 * @return The result of the transformation. 022 */ 023 E f(A a, B b, C c, D d); 024 }