From 04df68ea68b978440157f1b7ef400855f4f45858 Mon Sep 17 00:00:00 2001 From: Tom Conkling Date: Wed, 2 Feb 2011 01:27:38 +0000 Subject: [PATCH] Add an IntervalFactory interface, which just declares newInterval(), and have RootDObjectManager extend it. Leaving RootDObjectManager's declaration of newInterval() alone, because it contains docs that are specific to its implementation. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6474 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../presents/dobj/IntervalFactory.java | 16 ++++++++++++++++ .../presents/dobj/RootDObjectManager.java | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/threerings/presents/dobj/IntervalFactory.java diff --git a/src/main/java/com/threerings/presents/dobj/IntervalFactory.java b/src/main/java/com/threerings/presents/dobj/IntervalFactory.java new file mode 100644 index 000000000..6c163291a --- /dev/null +++ b/src/main/java/com/threerings/presents/dobj/IntervalFactory.java @@ -0,0 +1,16 @@ +package com.threerings.presents.dobj; + +import com.samskivert.util.Interval; + +public interface IntervalFactory +{ + /** + * Creates an {@link Interval} that runs the supplied runnable. + * + *
+     * _factory.newInterval(someRunnable).schedule(500); // one shot
+     * Interval ival = _factory.newInterval(someRunnable).schedule(500, true); // repeater
+     * 
+ */ + Interval newInterval (Runnable action); +} diff --git a/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java b/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java index 7279f4c36..76be3d575 100644 --- a/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java +++ b/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java @@ -32,7 +32,7 @@ import com.samskivert.util.RunQueue; * distributed objects in question. VMs that operate proxies of objects can only implement the * basic distributed object manager interface. */ -public interface RootDObjectManager extends DObjectManager, RunQueue, Executor +public interface RootDObjectManager extends DObjectManager, RunQueue, Executor, IntervalFactory { /** * Looks up and returns the requested distributed object in the dobj table, returning null if