ResourceBundleUtil.java |
1 /** 2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved. 3 * 4 * The contents of this file are subject to the terms of the Liferay Enterprise 5 * Subscription License ("License"). You may not use this file except in 6 * compliance with the License. You can obtain a copy of the License by 7 * contacting Liferay, Inc. See the License for the specific language governing 8 * permissions and limitations under the License, including but not limited to 9 * distribution rights of the Software. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 * SOFTWARE. 18 */ 19 20 package com.liferay.util; 21 22 import com.liferay.portal.kernel.log.Log; 23 import com.liferay.portal.kernel.log.LogFactoryUtil; 24 25 import java.text.MessageFormat; 26 27 import java.util.Locale; 28 import java.util.ResourceBundle; 29 30 /** 31 * <a href="ResourceBundleUtil.java.html"><b><i>View Source</i></b></a> 32 * 33 * <p> 34 * This class provides a convenience routine named getString() that 35 * gets the value of a ResourceBundle key, but also provides the ability 36 * to perform search & replace on tokens within the value of the key. 37 * </p> 38 * 39 * @author Neil Griffin 40 * 41 */ 42 public class ResourceBundleUtil { 43 44 public static String getString( 45 ResourceBundle bundle, Locale locale, String key, Object[] args) { 46 47 String value = null; 48 49 if (bundle == null) { 50 if (_log.isErrorEnabled()) { 51 _log.error("Resource bundle is null"); 52 } 53 } 54 else { 55 56 // Get the value associated with the specified key, and substitute 57 // any arguuments like {0}, {1}, {2}, etc. with the specified 58 // argument values. 59 60 value = bundle.getString(key); 61 62 if (value == null) { 63 if (_log.isWarnEnabled()) { 64 _log.warn("No value found for key " + key); 65 } 66 } 67 else { 68 if ((args != null) && (args.length > 0)) { 69 MessageFormat format = new MessageFormat(value, locale); 70 71 value = format.format(args); 72 } 73 } 74 } 75 76 if (value == null) { 77 value = key; 78 } 79 80 return value; 81 } 82 83 private static Log _log = LogFactoryUtil.getLog(ResourceBundleUtil.class); 84 85 }