diff src/org/prevayler/implementation/ClockRecoveryCommand.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/prevayler/implementation/ClockRecoveryCommand.java	Sat Mar 21 11:00:06 2009 +0000
@@ -0,0 +1,35 @@
+package org.prevayler.implementation;
+
+import org.prevayler.*;
+
+import java.io.Serializable;
+
+import java.util.Date;
+
+/**
+   A command for executing another command at a specific moment in time.
+*/
+class ClockRecoveryCommand implements Command {
+    static final long serialVersionUID = 4156866783673937422L;
+
+	private Command command;
+	private long millis;
+
+	public ClockRecoveryCommand(Command command, Date date) {
+		this.command = command;
+		this.millis = date.getTime();
+	}
+
+	public Serializable execute(PrevalentSystem system) throws Exception {
+		((SystemClock)system.clock()).recover(millis);
+		return command.execute(system);
+	}
+
+    public String toString() {
+        return millis + ":" + command;
+    }
+
+    public long getMillis() {
+        return millis;
+    }
+}