Copyright (c) 2000, 2015 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
/*******************************************************************************
* Copyright (c) 2000, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.runtime;
An abstract wrapper around a progress monitor which,
unless overridden, forwards IProgressMonitor
and IProgressMonitorWithBlocking
methods to the wrapped progress monitor.
This class can be used without OSGi running.
Clients may subclass.
/**
* An abstract wrapper around a progress monitor which,
* unless overridden, forwards <code>IProgressMonitor</code>
* and <code>IProgressMonitorWithBlocking</code> methods to the wrapped progress monitor.
* <p>
* This class can be used without OSGi running.
* </p><p>
* Clients may subclass.
* </p>
*/
public abstract class ProgressMonitorWrapper implements IProgressMonitor, IProgressMonitorWithBlocking {
The wrapped progress monitor. /** The wrapped progress monitor. */
private IProgressMonitor progressMonitor;
Creates a new wrapper around the given monitor.
Params: - monitor – the progress monitor to forward to
/**
* Creates a new wrapper around the given monitor.
*
* @param monitor the progress monitor to forward to
*/
protected ProgressMonitorWrapper(IProgressMonitor monitor) {
Assert.isNotNull(monitor);
progressMonitor = monitor;
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - beginTask.beginTask(String, int)
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#beginTask(String, int)
*/
@Override
public void beginTask(String name, int totalWork) {
progressMonitor.beginTask(name, totalWork);
}
This implementation of a IProgressMonitorWithBlocking
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - clearBlocked.clearBlocked()
Since: 3.0
/**
* This implementation of a <code>IProgressMonitorWithBlocking</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitorWithBlocking#clearBlocked()
* @since 3.0
*/
@Override
public void clearBlocked() {
if (progressMonitor instanceof IProgressMonitorWithBlocking)
((IProgressMonitorWithBlocking) progressMonitor).clearBlocked();
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - done.done()
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#done()
*/
@Override
public void done() {
progressMonitor.done();
}
Returns the wrapped progress monitor.
Returns: the wrapped progress monitor
/**
* Returns the wrapped progress monitor.
*
* @return the wrapped progress monitor
*/
public IProgressMonitor getWrappedProgressMonitor() {
return progressMonitor;
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - internalWorked.internalWorked(double)
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#internalWorked(double)
*/
@Override
public void internalWorked(double work) {
progressMonitor.internalWorked(work);
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - isCanceled.isCanceled()
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#isCanceled()
*/
@Override
public boolean isCanceled() {
return progressMonitor.isCanceled();
}
This implementation of a IProgressMonitorWithBlocking
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - setBlocked.setBlocked(IStatus)
Since: 3.0
/**
* This implementation of a <code>IProgressMonitorWithBlocking</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitorWithBlocking#setBlocked(IStatus)
* @since 3.0
*/
@Override
public void setBlocked(IStatus reason) {
if (progressMonitor instanceof IProgressMonitorWithBlocking)
((IProgressMonitorWithBlocking) progressMonitor).setBlocked(reason);
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - setCanceled.setCanceled(boolean)
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#setCanceled(boolean)
*/
@Override
public void setCanceled(boolean b) {
progressMonitor.setCanceled(b);
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - setTaskName.setTaskName(String)
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#setTaskName(String)
*/
@Override
public void setTaskName(String name) {
progressMonitor.setTaskName(name);
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - subTask.subTask(String)
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#subTask(String)
*/
@Override
public void subTask(String name) {
progressMonitor.subTask(name);
}
This implementation of a IProgressMonitor
method forwards to the wrapped progress monitor.
Clients may override this method to do additional
processing.
See Also: - worked.worked(int)
/**
* This implementation of a <code>IProgressMonitor</code>
* method forwards to the wrapped progress monitor.
* Clients may override this method to do additional
* processing.
*
* @see IProgressMonitor#worked(int)
*/
@Override
public void worked(int work) {
progressMonitor.worked(work);
}
}