View Javadoc
1   package org.kuali.common.util.inform;
2   
3   import java.io.PrintStream;
4   
5   import org.kuali.common.util.Assert;
6   import org.kuali.common.util.log.LogMsg;
7   
8   public final class Inform {
9   
10  	public static final PrintStream DEFAULT_PRINT_STREAM = System.out;
11  	public static final String DEFAULT_START_TOKEN = "[INFO] Progress: ";
12  	public static final String DEFAULT_PROGRESS_TOKEN = ".";
13  	public static final String DEFAULT_COMPLETE_TOKEN = "\n";
14  	public static final LogMsg DEFAULT_START_MESSAGE = LogMsg.NOOP;
15  	public static final LogMsg DEFAULT_STOP_MESSAGE = LogMsg.NOOP;
16  
17  	public static final Inform DEFAULT_INFORM = new Inform();
18  
19  	public Inform() {
20  		this(DEFAULT_PRINT_STREAM, DEFAULT_START_TOKEN, DEFAULT_PROGRESS_TOKEN, DEFAULT_COMPLETE_TOKEN, DEFAULT_START_MESSAGE, DEFAULT_STOP_MESSAGE);
21  	}
22  
23  	public Inform(LogMsg startMessage) {
24  		this(DEFAULT_PRINT_STREAM, DEFAULT_START_TOKEN, DEFAULT_PROGRESS_TOKEN, DEFAULT_COMPLETE_TOKEN, startMessage, DEFAULT_STOP_MESSAGE);
25  	}
26  
27  	public Inform(LogMsg startMessage, LogMsg stopMessage) {
28  		this(DEFAULT_PRINT_STREAM, DEFAULT_START_TOKEN, DEFAULT_PROGRESS_TOKEN, DEFAULT_COMPLETE_TOKEN, startMessage, stopMessage);
29  	}
30  
31  	public Inform(PrintStream printStream, String startToken, String progressToken, String completeToken, LogMsg startMessage, LogMsg stopMessage) {
32  		Assert.noNulls(printStream, startMessage, stopMessage, completeToken);
33  		// Printing a whitespace character to indicate progress completion is ok
34  		// Assert.noBlanks(startToken, progressToken,completeToken);
35  		Assert.noBlanks(startToken, progressToken);
36  		this.printStream = printStream;
37  		this.startToken = startToken;
38  		this.progressToken = progressToken;
39  		this.completeToken = completeToken;
40  		this.startMessage = startMessage;
41  		this.stopMessage = stopMessage;
42  	}
43  
44  	private final PrintStream printStream;
45  	private final String startToken;
46  	private final String progressToken;
47  	private final String completeToken;
48  	private final LogMsg startMessage;
49  	private final LogMsg stopMessage;
50  
51  	public PrintStream getPrintStream() {
52  		return printStream;
53  	}
54  
55  	public String getStartToken() {
56  		return startToken;
57  	}
58  
59  	public String getCompleteToken() {
60  		return completeToken;
61  	}
62  
63  	public LogMsg getStartMessage() {
64  		return startMessage;
65  	}
66  
67  	public LogMsg getStopMessage() {
68  		return stopMessage;
69  	}
70  
71  	public String getProgressToken() {
72  		return progressToken;
73  	}
74  
75  }