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(intermediary);
28 }
29
30 abstract String transform(String in);
31
32 public void setChildConverter(Converter<E> child) {
33 childConverter = child;
34 }
35
36 public String toString() {
37 StringBuilder buf = new StringBuilder();
38 buf.append("CompositeConverter<");
39
40 if(formattingInfo != null)
41 buf.append(formattingInfo);
42
43 if (childConverter != null) {
44 buf.append(", children: ").append(childConverter);
45 }
46 buf.append(">");
47 return buf.toString();
48 }
49 }