Class LocalStringManagerImpl
- java.lang.Object
-
- com.sun.xml.ws.security.opt.impl.util.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 Summary
Constructors Constructor Description LocalStringManagerImpl(Class defaultClass)
Create a string manager that looks for LocalStrings.properties in the package of the defaultClass.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getLocalString(Class callerClass, String key, String defaultValue)
Get a localized string.String
getLocalString(Class callerClass, String key, String defaultFormat, Object... arguments)
Get a local string for the caller and format the arguments accordingly.String
getLocalString(String key, String defaultValue)
Get a localized string from the package of the default class.String
getLocalString(String key, String defaultFormat, Object... arguments)
Get a local string from the package of the default class and format the arguments accordingly.
-
-
-
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 interfaceLocalStringManager
- Parameters:
callerClass
- The object making the call, to allow per-package resource bundleskey
- The name of the resource to fetchdefaultValue
- 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 interfaceLocalStringManager
- Parameters:
key
- The name of the resource to fetchdefaultValue
- 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 interfaceLocalStringManager
- Parameters:
callerClass
- The caller (to walk through its class hierarchy)key
- The key to the local format stringdefaultFormat
- The default format if not found in the resourcesarguments
- 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 stringdefaultFormat
- The default format if not found in the resourcesarguments
- The set of arguments to provide to the formatter- Returns:
- A formatted localized string
-
-