org.apache.tomcat.util.res
public class: StringManager [javadoc |
source]
java.lang.Object
org.apache.tomcat.util.res.StringManager
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.
Also see:
- java.util.ResourceBundle
- version:
$
- Revision: 769384 $ $Date: 2009-04-28 15:14:14 +0200 (Tue, 28 Apr 2009) $
- author:
James
- Duncan Davidson [duncan@eng.sun.com]
- author:
James
- Todd [gonzo@eng.sun.com]
- author:
Mel
- Martinez [mmartinez@g1440.com]
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from org.apache.tomcat.util.res.StringManager Detail: |
public static synchronized StringManager getManager(String packageName) {
StringManager mgr = (StringManager)managers.get(packageName);
if (mgr == null) {
mgr = new StringManager(packageName);
managers.put(packageName, mgr);
}
return mgr;
}
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. |
public static synchronized StringManager getManager(ResourceBundle bundle) {
return new StringManager( bundle );
}
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. |
public static synchronized StringManager getManager(String packageName,
Locale loc) {
StringManager mgr = (StringManager)managers.get(packageName+"_"+loc.toString());
if (mgr == null) {
mgr = new StringManager(packageName,loc);
managers.put(packageName+"_"+loc.toString(), mgr);
}
return mgr;
}
Get the StringManager for a particular package and Locale. If a manager for
a package already exists, it will be reused, else a new
StringManager will be created for that Locale and returned. |
public String getString(String key) {
if(key == null){
String msg = "key may not have a null value";
throw new IllegalArgumentException(msg);
}
String str = null;
try{
str = bundle.getString(key);
}catch(MissingResourceException mre){
//bad: shouldn't mask an exception the following way:
// str = "[cannot find message associated with key '" + key + "' due to " + mre + "]";
// because it hides the fact that the String was missing
// from the calling code.
//good: could just throw the exception (or wrap it in another)
// but that would probably cause much havoc on existing
// code.
//better: consistent with container pattern to
// simply return null. Calling code can then do
// a null check.
str = null;
}
return str;
}
Get a string from the underlying resource bundle or return
null if the String is not found. |
public String getString(String key,
Object args) {
String value = getString(key);
if (value == null) {
value = key;
}
MessageFormat mf = new MessageFormat(value);
mf.setLocale(locale);
return mf.format(args, new StringBuffer(), null).toString();
}
Get a string from the underlying resource bundle and format
it with the given set of arguments. |