001: /*
002: * Copyright 1999,2004 The Apache Software Foundation.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016:
017: package org.apache.jasper.compiler;
018:
019: import java.text.MessageFormat;
020: import java.util.MissingResourceException;
021: import java.util.ResourceBundle;
022:
023: /**
024: * Class responsible for converting error codes to corresponding localized
025: * error messages.
026: *
027: * @author Jan Luehe
028: */
029: public class Localizer {
030:
031: private static final ResourceBundle bundle = ResourceBundle
032: .getBundle("org.apache.jasper.resources.messages");
033:
034: /*
035: * Returns the localized error message corresponding to the given error
036: * code.
037: *
038: * If the given error code is not defined in the resource bundle for
039: * localized error messages, it is used as the error message.
040: *
041: * @param errCode Error code to localize
042: *
043: * @return Localized error message
044: */
045: public static String getMessage(String errCode) {
046: String errMsg = errCode;
047: try {
048: errMsg = bundle.getString(errCode);
049: } catch (MissingResourceException e) {
050: }
051: return errMsg;
052: }
053:
054: /*
055: * Returns the localized error message corresponding to the given error
056: * code.
057: *
058: * If the given error code is not defined in the resource bundle for
059: * localized error messages, it is used as the error message.
060: *
061: * @param errCode Error code to localize
062: * @param arg Argument for parametric replacement
063: *
064: * @return Localized error message
065: */
066: public static String getMessage(String errCode, String arg) {
067: return getMessage(errCode, new Object[] { arg });
068: }
069:
070: /*
071: * Returns the localized error message corresponding to the given error
072: * code.
073: *
074: * If the given error code is not defined in the resource bundle for
075: * localized error messages, it is used as the error message.
076: *
077: * @param errCode Error code to localize
078: * @param arg1 First argument for parametric replacement
079: * @param arg2 Second argument for parametric replacement
080: *
081: * @return Localized error message
082: */
083: public static String getMessage(String errCode, String arg1,
084: String arg2) {
085: return getMessage(errCode, new Object[] { arg1, arg2 });
086: }
087:
088: /*
089: * Returns the localized error message corresponding to the given error
090: * code.
091: *
092: * If the given error code is not defined in the resource bundle for
093: * localized error messages, it is used as the error message.
094: *
095: * @param errCode Error code to localize
096: * @param arg1 First argument for parametric replacement
097: * @param arg2 Second argument for parametric replacement
098: * @param arg3 Third argument for parametric replacement
099: *
100: * @return Localized error message
101: */
102: public static String getMessage(String errCode, String arg1,
103: String arg2, String arg3) {
104: return getMessage(errCode, new Object[] { arg1, arg2, arg3 });
105: }
106:
107: /*
108: * Returns the localized error message corresponding to the given error
109: * code.
110: *
111: * If the given error code is not defined in the resource bundle for
112: * localized error messages, it is used as the error message.
113: *
114: * @param errCode Error code to localize
115: * @param arg1 First argument for parametric replacement
116: * @param arg2 Second argument for parametric replacement
117: * @param arg3 Third argument for parametric replacement
118: * @param arg4 Fourth argument for parametric replacement
119: *
120: * @return Localized error message
121: */
122: public static String getMessage(String errCode, String arg1,
123: String arg2, String arg3, String arg4) {
124: return getMessage(errCode, new Object[] { arg1, arg2, arg3,
125: arg4 });
126: }
127:
128: /*
129: * Returns the localized error message corresponding to the given error
130: * code.
131: *
132: * If the given error code is not defined in the resource bundle for
133: * localized error messages, it is used as the error message.
134: *
135: * @param errCode Error code to localize
136: * @param args Arguments for parametric replacement
137: *
138: * @return Localized error message
139: */
140: public static String getMessage(String errCode, Object[] args) {
141: String errMsg = errCode;
142: try {
143: errMsg = bundle.getString(errCode);
144: if (args != null) {
145: MessageFormat formatter = new MessageFormat(errMsg);
146: errMsg = formatter.format(args);
147: }
148: } catch (MissingResourceException e) {
149: }
150:
151: return errMsg;
152: }
153: }
|