Package freemarker.ext.beans
Class ResourceBundleModel
java.lang.Object
freemarker.ext.beans.BeanModel
freemarker.ext.beans.ResourceBundleModel
- All Implemented Interfaces:
WrapperTemplateModel,AdapterTemplateModel,TemplateHashModel,TemplateHashModelEx,TemplateMethodModel,TemplateMethodModelEx,TemplateModel,TemplateModelWithAPISupport
A hash model that wraps a resource bundle. Makes it convenient to store
localized content in the data model. It also acts as a method model that will
take a resource key and arbitrary number of arguments and will apply
MessageFormat with arguments on the string represented by the key.
Typical usages:
bundle.resourceKeywill retrieve the object from resource bundle with keyresourceKeybundle("patternKey", arg1, arg2, arg3)will retrieve the string from resource bundle with keypatternKey, and will use it as a pattern for MessageFormat with arguments arg1, arg2 and arg3
-
Field Summary
Fields inherited from interface freemarker.template.TemplateModel
NOTHING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionTakes first argument as a resource key, looks up a string in resource bundle with this key, then applies a MessageFormat.format on the string with the rest of the arguments.Provides direct access to caching format engine from code (instead of from script).protected TemplateModelinvokeGenericGet(Map keyMap, Class clazz, String key)Overridden to invoke the getObject method of the resource bundle.booleanisEmpty()Returns true if this bundle contains no objects.protected SetkeySet()Helper method to support TemplateHashModelEx.intsize()Methods inherited from class freemarker.ext.beans.BeanModel
get, get, getAdaptedObject, getAPI, getBeforeMethodCall, getWrappedObject, hasPlainGetMethod, keys, toString, unwrap, values, wrap
-
Constructor Details
-
ResourceBundleModel
-
-
Method Details
-
invokeGenericGet
protected TemplateModel invokeGenericGet(Map keyMap, Class clazz, String key) throws TemplateModelExceptionOverridden to invoke the getObject method of the resource bundle.- Overrides:
invokeGenericGetin classBeanModel- Throws:
TemplateModelException
-
isEmpty
public boolean isEmpty()Returns true if this bundle contains no objects.- Specified by:
isEmptyin interfaceTemplateHashModel- Overrides:
isEmptyin classBeanModel
-
size
public int size()- Specified by:
sizein interfaceTemplateHashModelEx- Overrides:
sizein classBeanModel- Returns:
- the number of key/value mappings in the hash.
-
keySet
Description copied from class:BeanModelHelper method to support TemplateHashModelEx. Returns the Set of Strings which are available via the TemplateHashModel interface. Subclasses that overrideinvokeGenericGetto provide additional hash keys should also override this method. -
exec
Takes first argument as a resource key, looks up a string in resource bundle with this key, then applies a MessageFormat.format on the string with the rest of the arguments. The created MessageFormats are cached for later reuse.- Specified by:
execin interfaceTemplateMethodModel- Specified by:
execin interfaceTemplateMethodModelEx- Parameters:
arguments- aListofTemplateModel-s, containing the arguments passed to the method. If the implementation absolutely wants to operate on POJOs, it can use the static utility methods in theDeepUnwrapclass to easily obtain them. However, unwrapping is not always possible (or not perfectly), and isn't always efficient, so it's recommended to use the originalTemplateModelvalue as much as possible.- Returns:
- the return value of the method, or
null. If the returned value does not implementTemplateModel, it will be automatically wrapped using theenvironment's object wrapper. - Throws:
TemplateModelException
-
format
Provides direct access to caching format engine from code (instead of from script).- Throws:
MissingResourceException
-
getBundle
-