package co.codewizards.cloudstore.core.progress;
import java.security.InvalidParameterException;
/**
* Abstract base class for wrapper implementations of {@link ProgressMonitor}s.
* <p>
* You can have a look at {@link SubProgressMonitor} as an example.
*
* @author Marius Heinzmann [marius<at>NightLabs<dot>de]
*/
public abstract class ProgressMonitorDelegator implements ProgressMonitor
{
private final ProgressMonitor monitor;
public ProgressMonitorDelegator(ProgressMonitor monitor) {
if (monitor == null)
throw new InvalidParameterException("The wrapped monitor must not be null!");
this.monitor = monitor;
}
@Override
public void beginTask(String name, int totalWork) {
monitor.beginTask(name, totalWork);
}
@Override
public void done() {
monitor.done();
}
@Override
public void internalWorked(double worked) {
monitor.internalWorked(worked);
}
@Override
public boolean isCanceled() {
return monitor.isCanceled();
}
@Override
public void setCanceled(boolean canceled) {
monitor.setCanceled(canceled);
}
@Override
public void setTaskName(String name) {
monitor.setTaskName(name);
}
@Override
public void subTask(String name) {
monitor.subTask(name);
}
@Override
public void worked(int work) {
monitor.worked(work);
}
}