001 // Copyright 2007 Waterken Inc. under the terms of the MIT X license 002 // found at http://www.opensource.org/licenses/mit-license.html 003 package org.waterken.bounce; 004 005 import org.joe_e.array.ConstArray; 006 import org.ref_send.promise.Promise; 007 008 /** 009 * An object to bounce requests off of. 010 */ 011 public interface 012 Wall { 013 014 /** 015 * Creates a record of all types. 016 */ 017 Promise<ConstArray<AllTypes>> getAll(); 018 019 /** 020 * Returns the given argument. 021 * @param a value to return 022 * @return <code>a</code> 023 */ 024 <A> Promise<A> bounce(A a); 025 026 /** 027 * Sends a variable argument list. 028 * @param num each vararg 029 */ 030 Promise<Integer> sum(int... num); 031 }