Class StringManager


  • public class StringManager
    extends java.lang.Object
    An internationalization / localization helper class which reduces the bother of handling ResourceBundles and takes care of the common cases of message formatting which otherwise require the creation of Object arrays and such.

    The StringManager operates on a package basis. One StringManager per package can be created and accessed via the getManager method call.

    The StringManager will look for a ResourceBundle named by the package name given plus the suffix of "LocalStrings". In practice, this means that the localized information will be contained in a LocalStrings.properties file located in the package directory of the classpath.

    Please see the documentation for java.util.ResourceBundle for more information.

    Author:
    James Duncan Davidson [duncan@eng.sun.com], James Todd [gonzo@eng.sun.com], Mel Martinez [mmartinez@g1440.com]
    See Also:
    ResourceBundle
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Locale getLocale()
      Identify the Locale this StringManager is associated with
      static StringManager getManager​(java.lang.Class<?> clazz)
      The StringManager will be returned for the package in which the class is located.
      static StringManager getManager​(java.lang.String packageName)
      If a manager for a package already exists, it will be reused, else a new StringManager will be created and returned.
      static StringManager getManager​(java.lang.String packageName, java.util.Enumeration<java.util.Locale> requestedLocales)
      Retrieve the StringManager for a list of Locales.
      static StringManager getManager​(java.lang.String packageName, java.util.Locale locale)
      If a manager for a package/Locale combination already exists, it will be reused, else a new StringManager will be created and returned.
      java.lang.String getString​(java.lang.String key)
      Get a string from the underlying resource bundle or return null if the String is not found.
      java.lang.String getString​(java.lang.String key, java.lang.Object... args)
      Get a string from the underlying resource bundle and format it with the given set of arguments.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getString

        public java.lang.String getString​(java.lang.String key)
        Get a string from the underlying resource bundle or return null if the String is not found.
        Parameters:
        key - to desired resource String
        Returns:
        resource String matching key from underlying bundle or null if not found.
        Throws:
        java.lang.IllegalArgumentException - if key is null
      • getString

        public java.lang.String getString​(java.lang.String key,
                                          java.lang.Object... args)
        Get a string from the underlying resource bundle and format it with the given set of arguments.
        Parameters:
        key - The key for the required message
        args - The values to insert into the message
        Returns:
        The requested string formatted with the provided arguments
      • getLocale

        public java.util.Locale getLocale()
        Identify the Locale this StringManager is associated with
        Returns:
        The Locale associated with this instance
      • getManager

        public static final StringManager getManager​(java.lang.Class<?> clazz)
        The StringManager will be returned for the package in which the class is located. If a manager for that package already exists, it will be reused, else a new StringManager will be created and returned.
        Parameters:
        clazz - The class for which to retrieve the StringManager
        Returns:
        The StringManager for the given class.
      • getManager

        public static final StringManager getManager​(java.lang.String packageName)
        If a manager for a package already exists, it will be reused, else a new StringManager will be created and returned.
        Parameters:
        packageName - The package name
        Returns:
        The StringManager for the given package.
      • getManager

        public static final StringManager getManager​(java.lang.String packageName,
                                                     java.util.Locale locale)
        If a manager for a package/Locale combination already exists, it will be reused, else a new StringManager will be created and returned.
        Parameters:
        packageName - The package name
        locale - The Locale
        Returns:
        The StringManager for a particular package and Locale
      • getManager

        public static StringManager getManager​(java.lang.String packageName,
                                               java.util.Enumeration<java.util.Locale> requestedLocales)
        Retrieve the StringManager for a list of Locales. The first StringManager found will be returned.
        Parameters:
        packageName - The package for which the StringManager is required
        requestedLocales - the list of Locales
        Returns:
        the found StringManager or the default StringManager