View Javadoc

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 }