Moved conditional sleep method, depracted Script#sleep(SleepCondition,

int)
This commit is contained in:
Parnassian
2014-02-21 15:43:33 +01:00
parent cbfc4ea0f6
commit 19968ebb37
2 changed files with 36 additions and 9 deletions
@@ -1,5 +1,7 @@
package org.parabot.environment.api.utils; package org.parabot.environment.api.utils;
import org.parabot.environment.scripts.framework.SleepCondition;
/** /**
* *
* Holds various Time utilities * Holds various Time utilities
@@ -7,7 +9,7 @@ package org.parabot.environment.api.utils;
* @author Everel * @author Everel
* *
*/ */
public class Time { public final class Time {
/** /**
* Sleeps for a given amount of time * Sleeps for a given amount of time
@@ -22,6 +24,11 @@ public class Time {
} }
/**
*
* @param minumum
* @param maximum
*/
public static void sleep(final int minumum, final int maximum) { public static void sleep(final int minumum, final int maximum) {
try { try {
Thread.sleep(Random.between(minumum, maximum)); Thread.sleep(Random.between(minumum, maximum));
@@ -30,6 +37,30 @@ public class Time {
} }
} }
/**
* Sleeps until the SleepCondition is valid.
*
* @param conn
* the condition.
* @param timeout
* the time in miliseconds before it stops sleeping.
* @return whether it ran successfully without timing out.
*/
public static boolean sleep(SleepCondition conn, int timeout) {
long start = System.currentTimeMillis();
while (!conn.isValid()) {
if (start + timeout < System.currentTimeMillis()) {
return false;
}
Time.sleep(50);
}
return true;
}
/**
* Gets current time in milliseconds
* @return time in ms
*/
public static long get() { public static long get() {
return System.currentTimeMillis(); return System.currentTimeMillis();
} }
@@ -123,21 +123,17 @@ public class Script implements Runnable {
/** /**
* Sleeps until the SleepCondition is valid. * Sleeps until the SleepCondition is valid.
* *
* <B>DEPRECATED!</b> use {@link Time#sleep(SleepCondition, int)}
*
* @param conn * @param conn
* the condition. * the condition.
* @param timeout * @param timeout
* the time in miliseconds before it stops sleeping. * the time in miliseconds before it stops sleeping.
* @return whether it ran successfully without timing out. * @return whether it ran successfully without timing out.
*/ */
@Deprecated
public final boolean sleep(SleepCondition conn, int timeout) { public final boolean sleep(SleepCondition conn, int timeout) {
long start = System.currentTimeMillis(); return Time.sleep(conn, timeout);
while (!conn.isValid()) {
if (start + timeout < System.currentTimeMillis()) {
return false;
}
Time.sleep(50);
}
return true;
} }
/** /**