KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dappit > Dapper > parser > test > util > ProgressLogger


1 /**
2  *
3  */

4 package com.dappit.Dapper.parser.test.util;
5
6 import java.util.logging.Logger JavaDoc;
7
8 /**
9  * @author Ohad Serfaty
10  *
11  * A testing utility for showing the progress in percents to stdout/err.
12  *
13  */

14 public class ProgressLogger {
15
16
17     long percent=0;
18     long totalCount=0;
19     long currentCount=0;
20     private final Logger JavaDoc logger;
21     private String JavaDoc logPrefix="";
22     
23     public ProgressLogger(Logger JavaDoc logger,long totalCount){
24         this.logger = logger;
25         this.totalCount = totalCount;
26     }
27     
28     public ProgressLogger(long totalCount){
29         this.logger = null;
30         this.totalCount = totalCount;
31     }
32     
33     public void incrementCount(long countsToIncrement){
34         currentCount = currentCount+countsToIncrement;
35         long newPrecent = (long)(Math.floor(100.0*(double)currentCount/(double)totalCount));
36         
37         if (newPrecent > percent)
38         {
39             percent = newPrecent;
40             if (logger!=null)
41                 logger.info(logPrefix+percent + "%.. ");
42             else
43                 System.out.print(logPrefix+percent + "%.. ");
44             if (percent%10 == 0 && logger==null)
45                 System.out.println();
46         }
47     }
48     
49     public void incrementCount(){
50         incrementCount(1);
51     }
52
53     public void setLogPrefix(String JavaDoc logPrefix) {
54         this.logPrefix = logPrefix;
55     }
56 }
57
58
Popular Tags