package qubexplorer.ui.task;
import org.openide.util.Exceptions;
import qubexplorer.UserCredentials;
import qubexplorer.ui.ProjectContext;
/**
*
* @author Victor
*/
public abstract class Task<T> {
private final ProjectContext projectContext;
private final String serverUrl;
private UserCredentials userCredentials;
private boolean retryIfNoAuthorization=true;
public Task(ProjectContext projectContext, String serverUrl) {
this.projectContext = projectContext;
this.serverUrl=serverUrl;
}
public void setRetryIfNoAuthorization(boolean retryIfNoAuthorization) {
this.retryIfNoAuthorization = retryIfNoAuthorization;
}
public boolean isRetryIfNoAuthorization() {
return retryIfNoAuthorization;
}
public void setUserCredentials(UserCredentials userCredentials) {
this.userCredentials = userCredentials;
}
public UserCredentials getUserCredentials() {
return userCredentials;
}
public ProjectContext getProjectContext() {
return projectContext;
}
public String getServerUrl() {
return serverUrl;
}
public abstract T execute() throws TaskExecutionException;
protected void reset() {
}
protected void init() {
}
protected void success(T result) {
}
protected void fail(Throwable ex) {
Exceptions.printStackTrace(ex);
}
protected void completed() {
}
protected void destroy() {
}
}