1 /*
2 * $Id: ProgressMonitorWrapper.java,v 1.18 2011/06/16 09:29:42 jbmeslin Exp $
3 *
4 */
5 /*******************************************************************************
6 * Copyright (c) 2000, 2004 IBM Corporation and others.
7 * All rights reserved. This program and the accompanying materials
8 * are made available under the terms of the Eclipse Public License v1.0
9 * which accompanies this distribution, and is available at
10 * http://www.eclipse.org/legal/epl-v10.html
11 *
12 * Contributors:
13 * IBM Corporation - initial API and implementation
14 *******************************************************************************/
15 package org.rcfaces.core.progressMonitor;
16
17 /**
18 * An abstract wrapper around a progress monitor which, unless overridden,
19 * forwards <code>IProgressMonitor</code> and
20 * <code>IProgressMonitorWithBlocking</code> methods to the wrapped progress
21 * monitor.
22 * <p>
23 * Clients may subclass.
24 * </p>
25 */
26 public abstract class ProgressMonitorWrapper implements IProgressMonitor {
27
28 /** The wrapped progress monitor. */
29 private IProgressMonitor progressMonitor;
30
31 /**
32 * Creates a new wrapper around the given monitor.
33 *
34 * @param monitor
35 * the progress monitor to forward to
36 */
37 protected ProgressMonitorWrapper(IProgressMonitor monitor) {
38 progressMonitor = monitor;
39 }
40
41 /**
42 * This implementation of a <code>IProgressMonitor</code> method forwards
43 * to the wrapped progress monitor. Clients may override this method to do
44 * additional processing.
45 *
46 * @see IProgressMonitor#beginTask(String, int)
47 */
48 public void beginTask(String name, int totalWork) {
49 progressMonitor.beginTask(name, totalWork);
50 }
51
52 /**
53 * This implementation of a <code>IProgressMonitor</code> method forwards
54 * to the wrapped progress monitor. Clients may override this method to do
55 * additional processing.
56 *
57 * @see IProgressMonitor#done()
58 */
59 public void done() {
60 progressMonitor.done();
61 }
62
63 /**
64 * Returns the wrapped progress monitor.
65 *
66 * @return the wrapped progress monitor
67 */
68 public IProgressMonitor getWrappedProgressMonitor() {
69 return progressMonitor;
70 }
71
72 /**
73 * This implementation of a <code>IProgressMonitor</code> method forwards
74 * to the wrapped progress monitor. Clients may override this method to do
75 * additional processing.
76 *
77 * @see IProgressMonitor#internalWorked(double)
78 */
79 public void internalWorked(double work) {
80 progressMonitor.internalWorked(work);
81 }
82
83 /**
84 * This implementation of a <code>IProgressMonitor</code> method forwards
85 * to the wrapped progress monitor. Clients may override this method to do
86 * additional processing.
87 *
88 * @see IProgressMonitor#isCanceled()
89 */
90 public boolean isCanceled() {
91 return progressMonitor.isCanceled();
92 }
93
94 /**
95 * This implementation of a <code>IProgressMonitor</code> method forwards
96 * to the wrapped progress monitor. Clients may override this method to do
97 * additional processing.
98 *
99 * @see IProgressMonitor#setCanceled(boolean)
100 */
101 public void setCanceled(boolean b) {
102 progressMonitor.setCanceled(b);
103 }
104
105 /**
106 * This implementation of a <code>IProgressMonitor</code> method forwards
107 * to the wrapped progress monitor. Clients may override this method to do
108 * additional processing.
109 *
110 * @see IProgressMonitor#setTaskName(String)
111 */
112 public void setTaskName(String name) {
113 progressMonitor.setTaskName(name);
114 }
115
116 /**
117 * This implementation of a <code>IProgressMonitor</code> method forwards
118 * to the wrapped progress monitor. Clients may override this method to do
119 * additional processing.
120 *
121 * @see IProgressMonitor#subTask(String)
122 */
123 public void subTask(String name) {
124 progressMonitor.subTask(name);
125 }
126
127 /**
128 * This implementation of a <code>IProgressMonitor</code> method forwards
129 * to the wrapped progress monitor. Clients may override this method to do
130 * additional processing.
131 *
132 * @see IProgressMonitor#worked(int)
133 */
134 public void worked(int work) {
135 progressMonitor.worked(work);
136 }
137 }