1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.rolling;
18
19 import org.apache.log4j.rolling.helper.Action;
20
21
22 /***
23 * Description of actions needed to complete rollover.
24 *
25 * @author Curt Arnold
26 *
27 */
28 public final class RolloverDescriptionImpl implements RolloverDescription {
29 /***
30 * Active log file name after rollover.
31 */
32 private final String activeFileName;
33
34 /***
35 * Should active file be opened for appending.
36 */
37 private final boolean append;
38
39 /***
40 * Action to be completed after close of current active log file
41 * before returning control to caller.
42 */
43 private final Action synchronous;
44
45 /***
46 * Action to be completed after close of current active log file
47 * and before next rollover attempt, may be executed asynchronously.
48 */
49 private final Action asynchronous;
50
51 /***
52 * Create new instance.
53 * @param activeFileName active log file name after rollover, may not be null.
54 * @param append true if active log file after rollover should be opened for appending.
55 * @param synchronous action to be completed after close of current active log file, may be null.
56 * @param asynchronous action to be completed after close of current active log file and
57 * before next rollover attempt.
58 */
59 public RolloverDescriptionImpl(
60 final String activeFileName, final boolean append, final Action synchronous,
61 final Action asynchronous) {
62 if (activeFileName == null) {
63 throw new NullPointerException("activeFileName");
64 }
65
66 this.append = append;
67 this.activeFileName = activeFileName;
68 this.synchronous = synchronous;
69 this.asynchronous = asynchronous;
70 }
71
72 /***
73 * Active log file name after rollover.
74 * @return active log file name after rollover.
75 */
76 public String getActiveFileName() {
77 return activeFileName;
78 }
79
80 /***
81 * {@inheritDoc}
82 */
83 public boolean getAppend() {
84 return append;
85 }
86
87 /***
88 * Action to be completed after close of current active log file
89 * before returning control to caller.
90 *
91 * @return action, may be null.
92 */
93 public Action getSynchronous() {
94 return synchronous;
95 }
96
97 /***
98 * Action to be completed after close of current active log file
99 * and before next rollover attempt, may be executed asynchronously.
100 *
101 * @return action, may be null.
102 */
103 public Action getAsynchronous() {
104 return asynchronous;
105 }
106 }