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    }