1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.core.pattern;
15
16 abstract public class CompositeConverter<E> extends DynamicConverter<E> {
17
18 Converter<E> childConverter;
19
20 public String convert(E event) {
21 StringBuilder buf = new StringBuilder();
22
23 for (Converter<E> c = childConverter; c != null; c = c.next) {
24 c.write(buf, event);
25 }
26 String intermediary = buf.toString();
27 return transform(event, intermediary);
28 }
29
30 abstract protected String transform(E event, String in);
31
32 public Converter<E> getChildConverter() {
33 return childConverter;
34 }
35
36 public void setChildConverter(Converter<E> child) {
37 childConverter = child;
38 }
39
40 public String toString() {
41 StringBuilder buf = new StringBuilder();
42 buf.append("CompositeConverter<");
43
44 if (formattingInfo != null)
45 buf.append(formattingInfo);
46
47 if (childConverter != null) {
48 buf.append(", children: ").append(childConverter);
49 }
50 buf.append(">");
51 return buf.toString();
52 }
53 }