This repository has been archived on 2024-05-07. You can view files and clone it, but cannot push or open issues or pull requests.
species-discovery/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/util/ExtendedTimer.java

43 lines
894 B
Java

/**
*
*/
package org.gcube.portlets.user.speciesdiscovery.client.util;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.RepeatingCommand;
/**
* @author "Federico De Faveri defaveri@isti.cnr.it"
*
*/
public abstract class ExtendedTimer {
protected boolean canceled = false;
public void cancel()
{
Log.trace("ExtendedTimer CANCEL");
canceled = true;
}
public abstract void run();
public void scheduleRepeating(int delayMs)
{
canceled = false;
Log.trace("ExtendedTimer scheduleRepeating delayMs: "+delayMs);
Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
@Override
public boolean execute() {
Log.trace("ExtendedTimer RUNNING");
run();
Log.trace("ExtendedTimer RUN COMPLETE returning "+(!canceled));
return !canceled;
}
}, delayMs);
}
}