1 package com.atlassian.core.util;
2
3 public class ProgressWrapper
4 {
5 private ProgressMeter progressMeter;
6 private int currentCount;
7 private int totalCount;
8
9 public ProgressWrapper(ProgressMeter progressMeter, int totalCount)
10 {
11 this.progressMeter = progressMeter;
12 this.totalCount = totalCount;
13 progressMeter.setTotalObjects(totalCount);
14 this.currentCount = 0;
15 }
16
17 public synchronized void incrementCounter()
18 {
19 currentCount++;
20 progressMeter.setPercentage(currentCount, totalCount);
21 }
22
23 public synchronized void incrementCounter(String status)
24 {
25 currentCount++;
26 progressMeter.setPercentage(currentCount, totalCount);
27 progressMeter.setStatus(status);
28 }
29
30 public synchronized void setStatus(String status)
31 {
32 progressMeter.setStatus(status);
33 }
34
35 public synchronized int getTotal()
36 {
37 return progressMeter.getTotal();
38 }
39
40 public synchronized void setPercentage(int percentageComplete)
41 {
42 progressMeter.setPercentage(percentageComplete);
43 }
44
45 public String progressAsString()
46 {
47 return currentCount + " of " + totalCount + " total objects.";
48 }
49 }