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 }