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

org.apache.axis.i18n.MessageBundle Maven / Gradle / Ivy

There is a newer version: 1.4.LIFERAY-PATCHED-8
Show newest version
/*
 * Copyright 2001-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.axis.i18n;

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

/**
 * Accept parameters for ProjectResourceBundle,
 * but defer object instantiation (and therefore
 * resource bundle loading) until required.
 * 
 * @author Richard A. Sitze ([email protected])
 * @author Karl Moss ([email protected])
 * @author Glen Daniels ([email protected])
 */
public class MessageBundle {
    private boolean loaded = false;
    
    private ProjectResourceBundle _resourceBundle = null;

    private final String projectName;
    private final String packageName;
    private final String resourceName;
    private final Locale locale;
    private final ClassLoader classLoader;
    private final ResourceBundle parent;


    public final ProjectResourceBundle getResourceBundle() {
        if (!loaded) {
            _resourceBundle = ProjectResourceBundle.getBundle(projectName,
                                                              packageName,
                                                              resourceName,
                                                              locale,
                                                              classLoader,
                                                              parent);
            loaded = true;
        }
        return _resourceBundle;
    }

    /**
     * Construct a new ExtendMessages
     */
    public MessageBundle(String projectName,
                             String packageName,
                             String resourceName,
                             Locale locale,
                             ClassLoader classLoader,
                             ResourceBundle parent)
        throws MissingResourceException
    {
        this.projectName = projectName;
        this.packageName = packageName;
        this.resourceName = resourceName;
        this.locale = locale;
        this.classLoader = classLoader;
        this.parent = parent;
    }

    /**
      * Gets a string message from the resource bundle for the given key
      * @param key The resource key
      * @return The message
      */
    public String getMessage(String key) throws MissingResourceException
    {
        return getMessage(key, (String[]) null);
    }

    /**
      * 

Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

* * This message has two variables: {0} and {1} * * @param key The resource key * @param arg0 The argument to place in variable {0} * @return The message */ public String getMessage(String key, String arg0) throws MissingResourceException { return getMessage(key, new String[] { arg0 }); } /** *

Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

* * This message has two variables: {0} and {1} * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} * @return The message */ public String getMessage(String key, String arg0, String arg1) throws MissingResourceException { return getMessage(key, new String[] { arg0, arg1 }); } /** *

Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

* * This message has two variables: {0} and {1} * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} * @param arg2 The argument to place in variable {2} * @return The message */ public String getMessage(String key, String arg0, String arg1, String arg2) throws MissingResourceException { return getMessage(key, new String[] { arg0, arg1, arg2 }); } /** *

Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

* * This message has two variables: {0} and {1} * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} * @param arg2 The argument to place in variable {2} * @param arg3 The argument to place in variable {3} * @return The message */ public String getMessage(String key, String arg0, String arg1, String arg2, String arg3) throws MissingResourceException { return getMessage(key, new String[] { arg0, arg1, arg2, arg3 }); } /** *

Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

* * This message has two variables: {0} and {1} * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} * @param arg2 The argument to place in variable {2} * @param arg3 The argument to place in variable {3} * @param arg4 The argument to place in variable {4} * @return The message */ public String getMessage(String key, String arg0, String arg1, String arg2, String arg3, String arg4) throws MissingResourceException { return getMessage(key, new String[] { arg0, arg1, arg2, arg3, arg4 }); } /** *

Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

* * This message has two variables: {0} and {1} * * @param key The resource key * @param array An array of objects to place in corresponding variables * @return The message */ public String getMessage(String key, String[] array) throws MissingResourceException { String msg = null; if (getResourceBundle() != null) { msg = getResourceBundle().getString(key); } if (msg == null) { throw new MissingResourceException("Cannot find resource key \"" + key + "\" in base name " + getResourceBundle().getResourceName(), getResourceBundle().getResourceName(), key); } return MessageFormat.format(msg, array); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy