View Javadoc

1   /*
2    * Copyright 2002,2004 The Apache Software Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.apache.commons.jelly.tags;
18  
19  import java.util.*;
20  import java.text.*;
21  
22  /***
23   * <p>Provides locale-neutral access to string resources.  Only the
24   * documentation and code are in English. :-)
25   *
26   * <p>The major goal, aside from globalization, is convenience.
27   * Access to resources with no parameters is made in the form:</p>
28   * <pre>
29   *     Resources.getMessage(MESSAGE_NAME);
30   * </pre>
31   *
32   * <p>Access to resources with one parameter works like</p>
33   * <pre>
34   *     Resources.getMessage(MESSAGE_NAME, arg1);
35   * </pre>
36   *
37   * <p>... and so on.</p>
38   *
39   * @author Shawn Bayern
40   */
41  public class Resources {
42  
43      //**********************************************************************
44      // Static data
45  
46      /** The location of our resources. */
47      private static final String RESOURCE_LOCATION
48      = "org.apache.commons.jelly.tags.Resources";
49  
50      /*** Our class-wide ResourceBundle. */
51      private static ResourceBundle rb =
52      ResourceBundle.getBundle(RESOURCE_LOCATION);
53  
54  
55      //**********************************************************************
56      // Public static methods
57  
58      /** Retrieves a message with no arguments. */
59      public static String getMessage(String name)
60          throws MissingResourceException {
61      return rb.getString(name);
62      }
63  
64      /*** Retrieves a message with arbitrarily many arguments. */
65      public static String getMessage(String name, Object[] a)
66          throws MissingResourceException {
67      String res = rb.getString(name);
68      return MessageFormat.format(res, a);
69      }
70  
71      /*** Retrieves a message with one argument. */
72      public static String getMessage(String name, Object a1)
73          throws MissingResourceException {
74      return getMessage(name, new Object[] { a1 });
75      }
76  
77      /*** Retrieves a message with two arguments. */
78      public static String getMessage(String name, Object a1, Object a2)
79          throws MissingResourceException {
80      return getMessage(name, new Object[] { a1, a2 });
81      }
82  
83      /*** Retrieves a message with three arguments. */
84      public static String getMessage(String name,
85                      Object a1,
86                      Object a2,
87                      Object a3)
88          throws MissingResourceException {
89      return getMessage(name, new Object[] { a1, a2, a3 });
90      }
91  
92      /*** Retrieves a message with four arguments. */
93      public static String getMessage(String name,
94                      Object a1,
95                      Object a2,
96                      Object a3,
97                      Object a4)
98          throws MissingResourceException {
99      return getMessage(name, new Object[] { a1, a2, a3, a4 });
100     }
101 
102     /*** Retrieves a message with five arguments. */
103     public static String getMessage(String name,
104                     Object a1,
105                     Object a2,
106                     Object a3,
107                     Object a4,
108                     Object a5)
109         throws MissingResourceException {
110     return getMessage(name, new Object[] { a1, a2, a3, a4, a5 });
111     }
112 
113     /*** Retrieves a message with six arguments. */
114     public static String getMessage(String name,
115                     Object a1,
116                     Object a2,
117                     Object a3,
118                     Object a4,
119                     Object a5,
120                     Object a6)
121         throws MissingResourceException {
122     return getMessage(name, new Object[] { a1, a2, a3, a4, a5, a6 });
123     }
124 
125 }