package org.pyload.android.client.module;
import java.util.HashMap;
public class GuiTask {
private HashMap<Throwable, Runnable> exceptionMap;
private final Runnable task;
private final Runnable success;
//how often the task can be called
public int tries = 2;
// called when anything goes wrong (optional)
private Runnable critical;
public GuiTask(Runnable task){
this.task = task;
// Nop
this.success = new Runnable() {
public void run() {
}
};
}
public GuiTask(Runnable task, Runnable success) {
this.task = task;
this.success = success;
}
public GuiTask(Runnable task, Runnable success, HashMap<Throwable, Runnable> excHashMap) {
this.task = task;
this.success = success;
this.exceptionMap = excHashMap;
}
public Runnable getTask(){
return task;
}
public Runnable getSuccess(){
return success;
}
public boolean hasExceptionMap(){
return (exceptionMap != null && !exceptionMap.isEmpty());
}
public HashMap<Throwable, Runnable> getExceptionMap(){
return exceptionMap;
}
public void putException(Throwable t, Runnable r){
if(exceptionMap == null) exceptionMap = new HashMap<Throwable, Runnable>();
exceptionMap.put(t, r);
}
public boolean hasCritical(){
return (critical != null);
}
public void setCritical(Runnable critical) {
this.critical = critical;
}
public Runnable getCritical() {
return critical;
}
}