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