Class ResourceTool
- java.lang.Object
-
- org.apache.velocity.tools.generic.ResourceTool
-
- Direct Known Subclasses:
ViewResourceTool
public class ResourceTool extends java.lang.ObjectTool for accessing ResourceBundles and formatting messages therein.
Template example(s): $text.foo -> bar $text.hello.world -> Hello World! #set( $otherText = $text.bundle('otherBundle') ) $otherText.foo -> woogie $otherText.bar -> The args are {0} and {1}. $otherText.bar.insert(4) -> The args are 4 and {1}. $otherText.bar.insert(4,true) -> The args are 4 and true. Toolbox configuration example: <tool> <key>text</key> <class>org.apache.velocity.tools.generic.ResourceTool</class> <parameter name="bundles" value="resources,com.foo.moreResources"/> <parameter name="locale" value="en_US"/> </tool>This comes in very handy when internationalizing templates. Note that the default resource bundle baseName is "resources", and the default locale is the system locale. These may both be overridden in your toolbox config as demonstrated above.
Also, be aware that very few performance considerations have been made in this initial version. It should do fine, but if you have performance issues, please report them to dev@velocity.apache.org, so we can make improvements.
- Since:
- VelocityTools 1.3
- Version:
- $Revision: 498714 $ $Date: 2006-11-27 10:49:37 -0800 (Mon, 27 Nov 2006) $
- Author:
- Nathan Bubna
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classResourceTool.KeyInternal class used to enable an elegant syntax for accessing resources.
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String[]bundlesstatic java.lang.StringBUNDLES_KEYprivate java.util.Localelocalestatic java.lang.StringLOCALE_KEY
-
Constructor Summary
Constructors Constructor Description ResourceTool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResourceTool.Keybundle(java.lang.String bundle)voidconfigure(java.util.Map params)ResourceTool.Keyget(java.lang.String key)java.lang.Objectget(java.lang.String key, java.lang.String[] bundles, java.util.Locale locale)Retrieve a resource for the specified key from the first of the specified bundles in which a matching resource is found.java.lang.Objectget(java.lang.String key, java.lang.String baseName, java.util.Locale locale)Returns the value for the specified key in the ResourceBundle for the specified basename and locale.protected java.lang.StringgetDefaultBundle()protected java.util.LocalegetDefaultLocale()ResourceTool.Keyinsert(java.lang.Object arg)ResourceTool.Keyinsert(java.lang.Object[] args)ResourceTool.Keyinsert(java.lang.Object arg0, java.lang.Object arg1)ResourceTool.Keyinsert(java.util.List args)ResourceTool.Keylocale(java.util.Locale locale)java.lang.Stringrender(java.lang.Object resource, java.lang.Object[] args)Renders the specified resource value and arguments as a String.protected voidsetDefaultBundle(java.lang.String bundle)protected voidsetDefaultLocale(java.util.Locale locale)
-
-
-
Field Detail
-
BUNDLES_KEY
public static final java.lang.String BUNDLES_KEY
- See Also:
- Constant Field Values
-
LOCALE_KEY
public static final java.lang.String LOCALE_KEY
- See Also:
- Constant Field Values
-
bundles
private java.lang.String[] bundles
-
locale
private java.util.Locale locale
-
-
Method Detail
-
setDefaultBundle
protected final void setDefaultBundle(java.lang.String bundle)
-
getDefaultBundle
protected final java.lang.String getDefaultBundle()
-
setDefaultLocale
protected final void setDefaultLocale(java.util.Locale locale)
-
getDefaultLocale
protected final java.util.Locale getDefaultLocale()
-
configure
public void configure(java.util.Map params)
-
get
public ResourceTool.Key get(java.lang.String key)
-
bundle
public ResourceTool.Key bundle(java.lang.String bundle)
-
locale
public ResourceTool.Key locale(java.util.Locale locale)
-
insert
public ResourceTool.Key insert(java.lang.Object[] args)
-
insert
public ResourceTool.Key insert(java.util.List args)
-
insert
public ResourceTool.Key insert(java.lang.Object arg)
-
insert
public ResourceTool.Key insert(java.lang.Object arg0, java.lang.Object arg1)
-
get
public java.lang.Object get(java.lang.String key, java.lang.String baseName, java.util.Locale locale)Returns the value for the specified key in the ResourceBundle for the specified basename and locale. If no such resource can be found, no errors are thrown andnullis returned.
-
get
public java.lang.Object get(java.lang.String key, java.lang.String[] bundles, java.util.Locale locale)Retrieve a resource for the specified key from the first of the specified bundles in which a matching resource is found. If no resource is found, no exception will be thrown andnullwill be returned.
-
render
public java.lang.String render(java.lang.Object resource, java.lang.Object[] args)Renders the specified resource value and arguments as a String. If there are no arguments, then the String value of the resource is returned directly. If there are arguments, then the resource is treated as aMessageFormatpattern and used to format the specified argument values.
-
-