1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.core.modules.api;
17
18 import java.io.IOException;
19 import java.io.InputStream;
20 import java.io.OutputStream;
21 import java.io.Reader;
22 import java.io.Writer;
23
24 import javax.xml.transform.Result;
25 import javax.xml.transform.Source;
26
27
28
29
30
31
32
33
34
35
36
37 public abstract class Converter<S, T> implements Parser<S>, Renderer<T>, Transmogrifier<S, T> {
38
39
40
41
42
43
44
45
46
47
48 public final String convert(String message, Object... params) {
49 S parsed = parse(message, params);
50 T translated = zap(parsed, params);
51 return render(translated, params);
52 }
53
54
55
56
57
58 public final OutputStream convert(InputStream in, OutputStream out, Object... params) throws IOException {
59 S parsed = parse(in, params);
60 T translated = zap(parsed, params);
61 return render(translated, out, params);
62 }
63
64
65
66
67
68 public final Result convert(Source source, Result result, Object... params) throws IOException {
69 S parsed = parse(source, params);
70 T translated = zap(parsed, params);
71 return render(translated, result, params);
72 }
73
74
75
76
77
78 public final Writer convert(Reader reader, Writer writer, Object... params) throws IOException {
79 S parsed = parse(reader, params);
80 T translated = zap(parsed, params);
81 return render(translated, writer, params);
82 }
83
84 }