1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.controller.impl;
17
18 import static org.seasar.cubby.CubbyConstants.RES_MESSAGES;
19
20 import java.util.Enumeration;
21 import java.util.HashMap;
22 import java.util.Locale;
23 import java.util.Map;
24 import java.util.ResourceBundle;
25
26 import org.seasar.cubby.controller.MessagesBehaviour;
27
28
29
30
31
32
33
34 public class DefaultMessagesBehaviour implements MessagesBehaviour {
35
36
37 private String baseName = RES_MESSAGES;
38
39
40
41
42 public String getBaseName() {
43 return baseName;
44 }
45
46
47
48
49
50
51
52 public void setBaseName(final String baseName) {
53 this.baseName = baseName;
54 }
55
56
57
58
59 public ResourceBundle getBundle(final Locale locale) {
60 final ClassLoader classLoader = Thread.currentThread()
61 .getContextClassLoader();
62 final ResourceBundle bundle = ResourceBundle.getBundle(baseName,
63 locale == null ? Locale.getDefault() : locale, classLoader);
64 return bundle;
65 }
66
67
68
69
70 public Map<String, String> toMap(final ResourceBundle bundle) {
71 final Map<String, String> map = new HashMap<String, String>();
72 for (final Enumeration<String> keys = bundle.getKeys(); keys
73 .hasMoreElements();) {
74 final String key = keys.nextElement();
75 final String value = bundle.getString(key);
76 map.put(key, value);
77 }
78 return map;
79 }
80
81 }