001 // Copyright 2008 Waterken Inc. under the terms of the MIT X license
002 // found at http://www.opensource.org/licenses/mit-license.html
003 package org.ref_send.promise;
004
005 import java.io.Serializable;
006 import java.lang.reflect.Method;
007
008 /**
009 * A log interface.
010 */
011 public class
012 Log implements Serializable {
013 static private final long serialVersionUID = 1L;
014
015 /**
016 * Logs a comment.
017 * @param text comment text
018 */
019 public void comment(String text) {}
020
021 /**
022 * Logs an exception.
023 * @param reason problem reason
024 */
025 public void problem(Exception reason) {}
026
027 /**
028 * Logs receipt of a message.
029 * @param message message identifier
030 * @param concrete concrete type of invocation target
031 * @param method declaration of invoked method
032 */
033 public void got(String message, Class<?> concrete, Method method) {}
034
035 /**
036 * Logs a message send.
037 * @param message sent message identifier
038 */
039 public void sent(String message) {}
040
041 /**
042 * Logs sending of a return value.
043 * @param message return message identifier
044 */
045 public void returned(String message) { sent(message); }
046
047 /**
048 * Logs a conditional message send.
049 * @param pipelined Is the message processed at the callee's site?
050 * @param message message identifier
051 * @param condition condition identifier
052 */
053 public void sentIf(boolean pipelined,
054 String message, String condition) { sent(message); }
055
056 /**
057 * Logs resolution of a promise.
058 * @param condition condition identifier
059 */
060 public void resolved(String condition) {}
061
062 /**
063 * Logs fulfillment of a promise.
064 * @param condition condition identifier
065 */
066 public void fulfilled(String condition) { resolved(condition); }
067
068 /**
069 * Logs rejection of a promise.
070 * @param condition condition identifier
071 */
072 public void rejected(String condition, Exception reason) {
073 resolved(condition);
074 }
075
076 /**
077 * Logs progress towards fulfillment of a promise.
078 * @param condition condition identifier
079 */
080 public void progressed(String condition) { resolved(condition); }
081 }