Class ProjectResourceBundle

java.lang.Object
java.util.ResourceBundle
org.apache.axis.i18n.ProjectResourceBundle

public class ProjectResourceBundle extends ResourceBundle

Wrapper class for resource bundles. Property files are used to store resource strings, which are the only types of resources available. Property files can inherit properties from other files so that a base property file can be used and a small number of properties can be over-ridden by another property file. For example you may create an english version of a resource file named "resource.properties". You then decide that the British English version of all of the properties except one are the same, so there is no need to redefine all of the properties in "resource_en_GB", just the one that is different.

The basename is the name of the property file without the ".properties" extension.

Properties will be cached for performance.

Property values stored in the property files can also contain dynamic variables. Any dynamic variable defined in PropertiesUtil.getVariableValue() can be used (such as {date}), as well as arguments in the form {0}, {1}, etc. Argument values are specified in the various overloaded getString() methods.

Author:
Richard A. Sitze (rsitze@us.ibm.com), Karl Moss (kmoss@macromedia.com), Glen Daniels (gdaniels@apache.org)
  • Field Details

    • log

      protected static org.apache.commons.logging.Log log
  • Method Details

    • handleGetObject

      protected Object handleGetObject(String key) throws MissingResourceException
      Specified by:
      handleGetObject in class ResourceBundle
      Throws:
      MissingResourceException
    • getKeys

      public Enumeration getKeys()
      Specified by:
      getKeys in class ResourceBundle
    • getBundle

      public static ProjectResourceBundle getBundle(String projectName, String packageName, String resourceName) throws MissingResourceException
      Construct a new ProjectResourceBundle
      Parameters:
      projectName - The name of the project to which the class belongs. It must be a proper prefix of the caller's package.
      caller - The calling class. This is used to get the package name to further construct the basename as well as to get the proper ClassLoader.
      resourceName - The name of the resource without the ".properties" extension
      Throws:
      MissingResourceException - if projectName is not a prefix of the caller's package name, or if the resource could not be found/loaded.
    • getBundle

      public static ProjectResourceBundle getBundle(String projectName, Class caller, String resourceName, Locale locale) throws MissingResourceException
      Construct a new ProjectResourceBundle
      Parameters:
      projectName - The name of the project to which the class belongs. It must be a proper prefix of the caller's package.
      caller - The calling class. This is used to get the package name to further construct the basename as well as to get the proper ClassLoader.
      resourceName - The name of the resource without the ".properties" extension
      Throws:
      MissingResourceException - if projectName is not a prefix of the caller's package name, or if the resource could not be found/loaded.
    • getBundle

      public static ProjectResourceBundle getBundle(String projectName, String packageName, String resourceName, Locale locale, ClassLoader loader) throws MissingResourceException
      Construct a new ProjectResourceBundle
      Parameters:
      projectName - The name of the project to which the class belongs. It must be a proper prefix of the caller's package.
      caller - The calling class. This is used to get the package name to further construct the basename as well as to get the proper ClassLoader.
      resourceName - The name of the resource without the ".properties" extension
      locale - The locale
      Throws:
      MissingResourceException - if projectName is not a prefix of the caller's package name, or if the resource could not be found/loaded.
    • getBundle

      public static ProjectResourceBundle getBundle(String projectName, Class caller, String resourceName, Locale locale, ResourceBundle extendsBundle) throws MissingResourceException
      Construct a new ProjectResourceBundle
      Parameters:
      projectName - The name of the project to which the class belongs. It must be a proper prefix of the caller's package.
      caller - The calling class. This is used to get the package name to further construct the basename as well as to get the proper ClassLoader.
      resourceName - The name of the resource without the ".properties" extension
      locale - The locale
      extendsBundle - If non-null, then this ExtendMessages will default to extendsBundle.
      Throws:
      MissingResourceException - if projectName is not a prefix of the caller's package name, or if the resource could not be found/loaded.
    • getBundle

      public static ProjectResourceBundle getBundle(String projectName, String packageName, String resourceName, Locale locale, ClassLoader loader, ResourceBundle extendsBundle) throws MissingResourceException
      Construct a new ProjectResourceBundle
      Parameters:
      projectName - The name of the project to which the class belongs. It must be a proper prefix of the caller's package.
      caller - The calling class. This is used to get the package name to further construct the basename as well as to get the proper ClassLoader.
      resourceName - The name of the resource without the ".properties" extension
      locale - The locale
      extendsBundle - If non-null, then this ExtendMessages will default to extendsBundle.
      Throws:
      MissingResourceException - if projectName is not a prefix of the caller's package name, or if the resource could not be found/loaded.
    • getResourceName

      public String getResourceName()
    • toString

      public String toString()
      Clears the internal cache
      Overrides:
      toString in class Object