Class LocalStringManagerImpl

  • All Implemented Interfaces:
    LocalStringManager

    public class LocalStringManagerImpl
    extends Object
    implements LocalStringManager
    Implementation of a local string manager. Provides access to i18n messages for classes that need them.
    • Constructor Detail

      • LocalStringManagerImpl

        public LocalStringManagerImpl​(Class defaultClass)
        Create a string manager that looks for LocalStrings.properties in the package of the defaultClass.
        Parameters:
        defaultClass - Class whose package has default localized strings
    • Method Detail

      • getLocalString

        public String getLocalString​(Class callerClass,
                                     String key,
                                     String defaultValue)
        Get a localized string. Strings are stored in a single property file per package named LocalStrings[_locale].properties. Starting from the class of the caller, we walk up the class hierarchy until we find a package resource bundle that provides a value for the requested key.

        This simplifies access to resources, at the cost of checking for the resource bundle of several classes upon each call. However, due to the caching performed by ResourceBundle this seems reasonable.

        Due to that, sub-classes must make sure they don't have conflicting resource naming.

        Specified by:
        getLocalString in interface LocalStringManager
        Parameters:
        callerClass - The object making the call, to allow per-package resource bundles
        key - The name of the resource to fetch
        defaultValue - The default return value if not found
        Returns:
        The localized value for the resource
      • getLocalString

        public String getLocalString​(String key,
                                     String defaultValue)
        Get a localized string from the package of the default class.
        Specified by:
        getLocalString in interface LocalStringManager
        Parameters:
        key - The name of the resource to fetch
        defaultValue - The default return value if not found
        Returns:
        The localized string
      • getLocalString

        public String getLocalString​(Class callerClass,
                                     String key,
                                     String defaultFormat,
                                     Object... arguments)
        Get a local string for the caller and format the arguments accordingly.
        Specified by:
        getLocalString in interface LocalStringManager
        Parameters:
        callerClass - The caller (to walk through its class hierarchy)
        key - The key to the local format string
        defaultFormat - The default format if not found in the resources
        arguments - The set of arguments to provide to the formatter
        Returns:
        A formatted localized string
      • getLocalString

        public String getLocalString​(String key,
                                     String defaultFormat,
                                     Object... arguments)
        Get a local string from the package of the default class and format the arguments accordingly.
        Parameters:
        key - The key to the local format string
        defaultFormat - The default format if not found in the resources
        arguments - The set of arguments to provide to the formatter
        Returns:
        A formatted localized string