1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.freemarker;
35
36 import info.magnolia.cms.i18n.Messages;
37 import info.magnolia.cms.i18n.MessagesChain;
38 import info.magnolia.cms.i18n.MessagesManager;
39
40 import java.util.List;
41 import java.util.Locale;
42
43
44
45
46
47
48
49
50
51
52
53
54 public class MessagesWrapper {
55 private final Messages messages;
56 private final Locale locale;
57
58 MessagesWrapper(String basename, Locale locale) {
59 final Messages msg = MessagesManager.getMessages(basename, locale);
60 final Messages defMsg = MessagesManager.getMessages(locale);
61 this.messages = new MessagesChain(msg).chain(defMsg);
62 this.locale = locale;
63 }
64
65 public String get(String key) {
66 return this.get(key, this.messages);
67 }
68
69 public String get(String key, List args) {
70 return this.get(key, args, this.messages);
71 }
72
73
74 public String get(String key, String basename) {
75 return this.get(key, MessagesManager.getMessages(basename, locale));
76 }
77
78
79 public String get(String key, List args, String basename) {
80 return this.get(key, args, MessagesManager.getMessages(basename, locale));
81 }
82
83
84 public String getWithDefault(String key, String defaultMsg) {
85 return this.getWithDefault(key, defaultMsg, this.messages);
86 }
87
88
89 public String getWithDefault(String key, String defaultMsg, String basename) {
90 return this.getWithDefault(key, defaultMsg, MessagesManager.getMessages(basename, locale));
91 }
92
93
94 public String getWithDefault(String key, List args, String defaultMsg) {
95 return this.getWithDefault(key, args, defaultMsg, this.messages);
96 }
97
98
99 public String getWithDefault(String key, List args, String defaultMsg, String basename) {
100 return this.getWithDefault(key, defaultMsg, MessagesManager.getMessages(basename, locale));
101 }
102
103 protected String get(String key, Messages messages) {
104 return messages.get(key);
105 }
106
107 protected String get(String key, List args, Messages messages) {
108 Object[] argsArray = new Object[args.size()];
109 return messages.get(key, args.toArray(argsArray));
110 }
111
112 protected String getWithDefault(String key, String defaultMsg, Messages messages) {
113 return messages.getWithDefault(key, defaultMsg);
114 }
115
116 protected String getWithDefault(String key, List args, String defaultMsg, Messages messages) {
117 Object[] argsArray = new Object[args.size()];
118 return messages.getWithDefault(key, args.toArray(argsArray), defaultMsg);
119 }
120 }