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 }