01: /* Copyright 2004 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05: package org.jasig.portal.lang;
06:
07: import java.text.MessageFormat;
08: import java.util.ResourceBundle;
09:
10: /**
11: * The <code>Resources</code> class defines a set of utility methods
12: * which translate an internationalized string to a localized
13: * string. The transformation is done with the use of standard
14: * <code>java.util.ResourceBundle</code> and
15: * <code>java.text.MessageFormat</code> classes.
16: *
17: * @author <a href="mailto:jnielsen@sct.com">Jan Nielsen</a>
18: * @version $Revision: 35982 $ $Date: 2005-08-05 11:40:38 -0700 (Fri, 05 Aug 2005) $
19: **/
20: public final class Resources {
21: /**
22: * Returns the localized value of the specified string
23: * resource. The string resource is resolved by using the client
24: * parameter to lookup the associated <code>ResourceBundle</code>
25: * object and returning the string value associated with the
26: * specified name.
27: * @param client class to use to find the resource bundle
28: * @param name name of the string resource
29: * @return value of the string resource
30: * @throws NullPointerException if client or name is
31: * <code>null</code>
32: * @throws java.util.MissingResourceException if the resource name
33: * is not found
34: **/
35: public static final String getString(Class client, String name) {
36: ResourceBundle bundle = ResourceBundle.getBundle(client
37: .getName());
38: return bundle.getString(name);
39: }
40:
41: /**
42: * Returns the localized value of the specified string
43: * resource. The string resource is resolved by using the client
44: * parameter to lookup the associated <code>ResourceBundle</code>
45: * object and returning the string value associated with the
46: * specified name. The <code>MessageFormat</code> class is used to
47: * format the localized string using the specified runtime
48: * parameters.
49: *
50: * @param client class to use to find the resource bundle
51: * @param name name of the string resource
52: * @param objects runtime objects to be inserted into resource
53: * @return value of the string resource
54: * @throws NullPointerException if client or name is
55: * <code>null</code>
56: *
57: * @throws java.util.MissingResourceException if the resource name
58: * is not found
59: **/
60: public static final String getString(Class client, String name,
61: String[] objects) {
62: return MessageFormat.format(getString(client, name),
63: (Object[]) objects);
64: }
65:
66: /**
67: * Private constructor.
68: */
69: private Resources() {
70: // do-nothing constructor
71: }
72: }
|