All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.webui.jsf.util.Bundle Maven / Gradle / Ivy

/*
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the License).  You may not use this file except in
 * compliance with the License.
 * 
 * You can obtain a copy of the license at
 * https://woodstock.dev.java.net/public/CDDLv1.0.html.
 * See the License for the specific language governing
 * permissions and limitations under the License.
 * 
 * When distributing Covered Code, include this CDDL
 * Header Notice in each file and include the License file
 * at https://woodstock.dev.java.net/public/CDDLv1.0.html.
 * If applicable, add the following below the CDDL Header,
 * with the fields enclosed by brackets [] replaced by
 * you own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 * 
 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
 */
package com.sun.webui.jsf.util;

import java.text.MessageFormat;
import java.util.ResourceBundle;

/**
 * 

* Utility methods for localized messages for design time classes. This class * expects a resource bundle named Bundle-DT in the same pacakge * as the class passed to its constructor. This class is also useful for * design-time behavior in component renderers and so exists in this runtime * package. *

*/ public class Bundle { // ------------------------------------------------------------- Constructor /** *

Construct a Bundle instance for the specified * class.

* * @param clazz Class for which to construct a bundle instance */ public Bundle(Class clazz) { String name = clazz.getName(); int period = name.lastIndexOf('.'); // NOI18N if (period >= 0) { name = name.substring(0, period + 1); } else { name = ""; } name += "Bundle-DT"; bundle = ResourceBundle.getBundle(name, format.getLocale(), clazz.getClassLoader()); } // -------------------------------------------------------- Static Variables /** *

The MessageFormat instance we will use for messages * that require parameter replacement.

*/ private MessageFormat format = new MessageFormat(""); // ------------------------------------------------------ Instance Variables /** *

The ResourceBundle containing our messages.

*/ private ResourceBundle bundle; // ---------------------------------------------------------- Public Methods /** *

Return the message for the specified key.

* * @param key Message key to look up */ public String message(String key) { return bundle.getString(key); } /** *

Return the message for the specified key, after substituting * the specified parameters.

* * @param key Message key to look up * @param params Replacement parameters */ public String message(String key, Object params[]) { String pattern = message(key); //FIXME synchronization on a non-final variable synchronized (format) { format.applyPattern(pattern); return format.format(params); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy