blob: 7ed3ffa79f5788b75674a7e021001a567b9abb88 [file] [log] [blame]
package org.eclipse.osee.ote.rest.client.internal;
import java.util.concurrent.Callable;
import org.eclipse.osee.ote.rest.client.Progress;
public abstract class BaseClientCallable<T extends Progress> implements Callable<T>{
private T progress;
public BaseClientCallable(T progress) {
this.progress = progress;
}
@Override
final public T call() throws Exception {
try{
doWork();
progress.success();
} catch (Throwable th){
progress.fail(th);
}
return progress;
}
public abstract void doWork() throws Exception;
}