1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.core.pattern;
15
16 import java.util.List;
17
18 import ch.qos.logback.core.Context;
19 import ch.qos.logback.core.spi.ContextAware;
20 import ch.qos.logback.core.spi.ContextAwareBase;
21 import ch.qos.logback.core.spi.LifeCycle;
22 import ch.qos.logback.core.status.Status;
23
24
25
26
27
28
29
30
31 abstract public class DynamicConverter<E> extends FormattingConverter<E> implements LifeCycle, ContextAware {
32
33 ContextAwareBase cab = new ContextAwareBase(this);
34
35
36 private List<String> optionList;
37
38
39
40
41 protected boolean started = false;
42
43
44
45
46
47
48
49 @Override
50 public void start() {
51 started = true;
52 }
53
54 @Override
55 public void stop() {
56 started = false;
57 }
58
59 @Override
60 public boolean isStarted() {
61 return started;
62 }
63
64 public void setOptionList(List<String> optionList) {
65 this.optionList = optionList;
66 }
67
68
69
70
71
72
73
74 public String getFirstOption() {
75 if (optionList == null || optionList.size() == 0) {
76 return null;
77 } else {
78 return optionList.get(0);
79 }
80 }
81
82 protected List<String> getOptionList() {
83 return optionList;
84 }
85
86 @Override
87 public void setContext(Context context) {
88 cab.setContext(context);
89 }
90
91 @Override
92 public Context getContext() {
93 return cab.getContext();
94 }
95
96 @Override
97 public void addStatus(Status status) {
98 cab.addStatus(status);
99 }
100
101 @Override
102 public void addInfo(String msg) {
103 cab.addInfo(msg);
104 }
105
106 @Override
107 public void addInfo(String msg, Throwable ex) {
108 cab.addInfo(msg, ex);
109 }
110
111 @Override
112 public void addWarn(String msg) {
113 cab.addWarn(msg);
114 }
115
116 @Override
117 public void addWarn(String msg, Throwable ex) {
118 cab.addWarn(msg, ex);
119 }
120
121 @Override
122 public void addError(String msg) {
123 cab.addError(msg);
124 }
125
126 @Override
127 public void addError(String msg, Throwable ex) {
128 cab.addError(msg, ex);
129 }
130 }