org.apache.tomcat.util.res

## Class StringManager

- java.lang.Object
- - org.apache.tomcat.util.res.StringManager

    public class StringManager
    extends Object

An internationalization / localization helper class which reduces the bother of handling ResourceBundles and takes care of the common cases of message formating 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

Methods
`Locale` `getLocale()` Identify the Locale this StringManager is associated with
`static StringManager` `getManager(String packageName)` Get the StringManager for a particular package.
`static StringManager` `getManager(String packageName, Enumeration<Locale> requestedLocales)` Retrieve the StringManager for a list of Locales.
`static StringManager` `getManager(String packageName, Locale locale)` Get the StringManager for a particular package and Locale.
`String` `getString(String key)` Get a string from the underlying resource bundle or return null if the String is not found.
`String` `getString(String key, 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 String getString(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:
  `IllegalArgumentException` - if key is null.

#### getString

    public String getString(String key,
                   Object... args)

Get a string from the underlying resource bundle and format it with the given set of arguments.

Parameters:
  `key` -
  `args` -

#### getLocale

    public Locale getLocale()

Identify the Locale this StringManager is associated with

#### getManager

    public static final StringManager getManager(String packageName)

Get the StringManager for a particular package. 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

#### getManager

    public static final StringManager getManager(String packageName,
                           Locale locale)

Get the StringManager for a particular package and 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

#### getManager

    public static StringManager getManager(String packageName,
                           Enumeration<Locale> requestedLocales)

Retrieve the StringManager for a list of Locales. The first StringManager found will be returned.

Parameters:
  `requestedLocales` - the list of Locales
Returns:
  the found StringManager or the default StringManager