# Class StringManager

java.lang.Object
org.apache.naming.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 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.

See Also:
  - `ResourceBundle`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static StringManager`
  `getManager(Class<?> clazz)`
  Returns the StringManager for the package of the given class.
  `static StringManager`
  `getManager(String packageName)`
  Get the StringManager for a particular package.
  `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 Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### 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` - The key for the required message
      `args` - The values to insert into the message
    Returns:
      The request string formatted with the provided arguments or the key if the key was not found.

  - ### getManager

    public static 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
    Returns:
      The instance associated with the given package

  - ### getManager

    public static StringManager getManager(Class<?> clazz)
    Returns the StringManager for the package of the given class.
    Parameters:
      `clazz` - the class whose package's StringManager is requested
    Returns:
      the StringManager for the specified class's package