Class FreeMarkerWorker
- java.lang.Object
-
- org.apache.ofbiz.base.util.template.FreeMarkerWorker
-
public final class FreeMarkerWorker extends java.lang.Object
FreeMarkerWorker - Freemarker Template Engine Utilities.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static freemarker.template.TemplateModel
autoWrap(java.lang.Object obj, freemarker.core.Environment env)
static void
clearTemplateFromCache(java.lang.String templateLocation)
static java.util.Map<java.lang.String,java.lang.Object>
createEnvironmentMap(freemarker.core.Environment env)
static java.lang.Object
get(freemarker.template.SimpleHash args, java.lang.String key)
static java.lang.String
getArg(java.util.Map<java.lang.String,? extends java.lang.Object> args, java.lang.String key, freemarker.core.Environment env)
static java.lang.String
getArg(java.util.Map<java.lang.String,? extends java.lang.Object> args, java.lang.String key, java.util.Map<java.lang.String,? extends java.lang.Object> templateContext)
static freemarker.template.Configuration
getDefaultOfbizConfig()
Returns aConfiguration
instance initialized to OFBiz defaults.static freemarker.ext.beans.BeansWrapper
getDefaultOfbizWrapper()
static void
getSiteParameters(HttpServletRequest request, java.util.Map<java.lang.String,java.lang.Object> ctx)
static freemarker.template.Template
getTemplate(java.lang.String templateLocation)
Gets a Template instance from the template cache.static freemarker.template.Template
getTemplate(java.lang.String templateLocation, UtilCache<java.lang.String,freemarker.template.Template> cache, freemarker.template.Configuration config)
static <T> T
getWrappedObject(java.lang.String varName, freemarker.core.Environment env)
Gets BeanModel from FreeMarker context and returns the object that it wraps.static freemarker.template.Configuration
makeConfiguration(freemarker.ext.beans.BeansWrapper wrapper)
static freemarker.template.Configuration
newConfiguration()
static void
overrideWithArgs(java.util.Map<java.lang.String,java.lang.Object> ctx, java.util.Map<java.lang.String,java.lang.Object> args)
static void
reloadValues(java.util.Map<java.lang.String,java.lang.Object> context, java.util.Map<java.lang.String,java.lang.Object> saveValues, freemarker.core.Environment env)
static void
removeValues(java.util.Map<java.lang.String,?> context, java.lang.String... removeKeyNames)
static freemarker.core.Environment
renderTemplate(freemarker.template.Template template, java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Appendable outWriter)
Renders a Template instance.static void
renderTemplate(java.lang.String templateLocation, java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Appendable outWriter)
Renders a template from a Reader.static void
renderTemplateFromString(java.lang.String templateName, java.lang.String templateString, java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Appendable outWriter, long lastModificationTime, boolean useCache)
static void
saveContextValues(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.String[] saveKeyNames, java.util.Map<java.lang.String,java.lang.Object> saveMap)
static java.util.Map<java.lang.String,java.lang.Object>
saveValues(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.String[] saveKeyNames)
static <T> T
unwrap(java.lang.Object o)
-
-
-
Method Detail
-
getDefaultOfbizWrapper
public static freemarker.ext.beans.BeansWrapper getDefaultOfbizWrapper()
-
newConfiguration
public static freemarker.template.Configuration newConfiguration()
-
makeConfiguration
public static freemarker.template.Configuration makeConfiguration(freemarker.ext.beans.BeansWrapper wrapper)
-
renderTemplate
public static void renderTemplate(java.lang.String templateLocation, java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Appendable outWriter) throws freemarker.template.TemplateException, java.io.IOException
Renders a template from a Reader.- Parameters:
templateLocation
- A unique ID for this template - used for cachingcontext
- The context MapoutWriter
- The Writer to render to- Throws:
freemarker.template.TemplateException
java.io.IOException
-
renderTemplateFromString
public static void renderTemplateFromString(java.lang.String templateName, java.lang.String templateString, java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Appendable outWriter, long lastModificationTime, boolean useCache) throws freemarker.template.TemplateException, java.io.IOException
- Throws:
freemarker.template.TemplateException
java.io.IOException
-
clearTemplateFromCache
public static void clearTemplateFromCache(java.lang.String templateLocation)
-
renderTemplate
public static freemarker.core.Environment renderTemplate(freemarker.template.Template template, java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Appendable outWriter) throws freemarker.template.TemplateException, java.io.IOException
Renders a Template instance.- Parameters:
template
- A Template instancecontext
- The context MapoutWriter
- The Writer to render to- Throws:
freemarker.template.TemplateException
java.io.IOException
-
getDefaultOfbizConfig
public static freemarker.template.Configuration getDefaultOfbizConfig()
Returns aConfiguration
instance initialized to OFBiz defaults. Client code should call this method instead of creating its ownConfiguration
instance. The instance returned by this method includes thecomponent://
resolver and the OFBiz custom transformations.- Returns:
- A
Configuration
instance.
-
getTemplate
public static freemarker.template.Template getTemplate(java.lang.String templateLocation) throws java.io.IOException
Gets a Template instance from the template cache. If the Template instance isn't found in the cache, then one will be created.- Parameters:
templateLocation
- Location of the template - file path or URL- Throws:
java.io.IOException
-
getTemplate
public static freemarker.template.Template getTemplate(java.lang.String templateLocation, UtilCache<java.lang.String,freemarker.template.Template> cache, freemarker.template.Configuration config) throws java.io.IOException
- Throws:
java.io.IOException
-
getArg
public static java.lang.String getArg(java.util.Map<java.lang.String,? extends java.lang.Object> args, java.lang.String key, freemarker.core.Environment env)
-
getArg
public static java.lang.String getArg(java.util.Map<java.lang.String,? extends java.lang.Object> args, java.lang.String key, java.util.Map<java.lang.String,? extends java.lang.Object> templateContext)
-
getWrappedObject
public static <T> T getWrappedObject(java.lang.String varName, freemarker.core.Environment env)
Gets BeanModel from FreeMarker context and returns the object that it wraps.- Parameters:
varName
- the name of the variable in the FreeMarker context.env
- the FreeMarker Environment
-
get
public static java.lang.Object get(freemarker.template.SimpleHash args, java.lang.String key)
-
unwrap
public static <T> T unwrap(java.lang.Object o)
-
createEnvironmentMap
public static java.util.Map<java.lang.String,java.lang.Object> createEnvironmentMap(freemarker.core.Environment env)
-
saveContextValues
public static void saveContextValues(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.String[] saveKeyNames, java.util.Map<java.lang.String,java.lang.Object> saveMap)
-
saveValues
public static java.util.Map<java.lang.String,java.lang.Object> saveValues(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.String[] saveKeyNames)
-
reloadValues
public static void reloadValues(java.util.Map<java.lang.String,java.lang.Object> context, java.util.Map<java.lang.String,java.lang.Object> saveValues, freemarker.core.Environment env)
-
removeValues
public static void removeValues(java.util.Map<java.lang.String,?> context, java.lang.String... removeKeyNames)
-
overrideWithArgs
public static void overrideWithArgs(java.util.Map<java.lang.String,java.lang.Object> ctx, java.util.Map<java.lang.String,java.lang.Object> args)
-
getSiteParameters
public static void getSiteParameters(HttpServletRequest request, java.util.Map<java.lang.String,java.lang.Object> ctx)
-
autoWrap
public static freemarker.template.TemplateModel autoWrap(java.lang.Object obj, freemarker.core.Environment env)
-
-