1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.uruma.util;
17
18 import java.text.MessageFormat;
19
20 import org.seasar.framework.exception.ResourceNotFoundRuntimeException;
21 import org.seasar.framework.message.MessageFormatter;
22 import org.seasar.framework.message.MessageResourceBundle;
23 import org.seasar.framework.message.MessageResourceBundleFactory;
24 import org.seasar.uruma.core.UrumaConstants;
25 import org.seasar.uruma.core.UrumaMessageCodes;
26 import org.seasar.uruma.exception.NotFoundException;
27
28
29
30
31
32
33 public class MessageUtil {
34 private MessageUtil() {
35
36 }
37
38
39
40
41
42
43
44
45
46
47 public static String getMessage(final String key) {
48 return getMessage(key, (Object[]) null);
49 }
50
51
52
53
54
55
56
57
58
59
60
61 public static String getMessage(final String key, final Object... args) {
62 return getMessageWithBundleName(UrumaConstants.USER_MESSAGE_BASE, key,
63 args);
64 }
65
66
67
68
69
70
71
72
73
74
75 public static String getMessageWithBundleName(final String bundleName,
76 final String key) {
77 return getMessageWithBundleName(bundleName, key, (Object[]) null);
78 }
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 public static String getMessageWithBundleName(final String bundleName,
94 final String key, final Object... args) {
95 try {
96
97 MessageResourceBundle bundle = MessageResourceBundleFactory
98 .getBundle(bundleName);
99 String message = bundle.get(key);
100 if (message != null) {
101 return MessageFormat.format(message, args);
102 } else {
103 return MessageFormatter.getSimpleMessage(
104 UrumaMessageCodes.MESSAGE_KEY_NOT_FOUND, new Object[] {
105 bundleName, key });
106 }
107 } catch (ResourceNotFoundRuntimeException ex) {
108 throw new NotFoundException(
109 UrumaMessageCodes.MESSAGE_RESOURCE_NOT_FOUND, bundleName);
110 }
111 }
112 }