Package org.apache.velocity.tools.config
Class EasyFactoryConfiguration
- java.lang.Object
-
- org.apache.velocity.tools.config.Configuration
-
- org.apache.velocity.tools.config.CompoundConfiguration<ToolboxConfiguration>
-
- org.apache.velocity.tools.config.FactoryConfiguration
-
- org.apache.velocity.tools.config.EasyFactoryConfiguration
-
- All Implemented Interfaces:
Comparable<Configuration>
public class EasyFactoryConfiguration extends FactoryConfiguration
FactoryConfigurationsubclass that simplifies the process of configuring aToolboxFactoryin Java without the use of an xml or properties configuration file. Below is an example:EasyFactoryConfiguration config = new EasyFactoryConfiguration(); config.toolbox(Scope.REQUEST).property("locale", Locale.US) .tool(DateTool.class) .tool("myTool", MyTool.class); config.toolbox(Scope.APPLICATION) .tool(NumberTool.class).property("locale", Locale.FR); ToolboxFactory factory = config.createFactory();Doing the above without this class would require the following to create an equivalent
FactoryConfigurationin Java:FactoryConfiguration factoryConfig = new FactoryConfiguration(); ToolboxConfiguration toolbox = new ToolboxConfiguration(); toolbox.setScope(Scope.REQUEST); toolbox.setProperty("locale", Locale.US); ToolConfiguration tool = new ToolConfiguration(); tool.setClassname(DateTool.class.getName()); tool = new ToolConfiguration(); tool.setKey("myTool"); tool.setClassname(MyTool.class.getName()); toolbox.addTool(tool); toolbox = new ToolboxConfiguration(); toolbox.setScope(Scope.APPLICATION); tool = new ToolConfiguration(); tool.setClassname(NumberTool.class.getName()); tool.setProperty("locale", Locale.FR); toolbox.addTool(tool); factoryConfig.addToolbox(toolbox); ToolboxFactory factory = factoryConfig.createFactory();Of course, you could directly configure a
ToolboxFactorywith relatively little effort as well:
But this is not reusable. Why does that matter? Well, it doesn't matter for application developers. But, if another framework wishes to provide a common VelocityTools configuration for application developers, this may come in handy. Or it may not. In any case, it was mildly fun to write. :)ToolboxFactory factory = new ToolboxFactory(); factory.putProperty(Scope.REQUEST, "locale", Locale.US); factory.addToolInfo(Scope.REQUEST, new ToolInfo("date", DateTool.class)); factory.addToolInfo(Scope.REQUEST, new ToolInfo("render", ViewRenderTool.class)); ToolInfo info = new ToolInfo("number", NumberTool.class); info.setProperty("locale", Locale.FR); factory.addToolInfo(Scope.APPLICATION, info);- Version:
- $Id: EasyFactoryConfiguration.java 511959 2007-02-26 19:24:39Z nbubna $
- Author:
- Nathan Bubna
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEasyFactoryConfiguration.EasyDataclassEasyFactoryConfiguration.EasyWrap<C extends Configuration>
-
Constructor Summary
Constructors Constructor Description EasyFactoryConfiguration()EasyFactoryConfiguration(boolean includeDefaults)EasyFactoryConfiguration(boolean includeDefaults, String source)
-
Method Summary
-
Methods inherited from class org.apache.velocity.tools.config.FactoryConfiguration
addConfiguration, addData, addSource, addToolbox, createFactory, equals, getData, getData, getData, getSource, getSources, getToolbox, getToolboxes, hasData, hashCode, removeData, removeToolbox, setData, setSource, setToolboxes, toString, toString, validate
-
Methods inherited from class org.apache.velocity.tools.config.CompoundConfiguration
addChild, addConfiguration, appendChildren, getChild, getChildren, hasChildren, removeChild, setChildren
-
Methods inherited from class org.apache.velocity.tools.config.Configuration
addConfiguration, addProperty, appendProperties, compareTo, getProperties, getProperty, getPropertyMap, hasProperties, removeProperty, removeProperty, setProperties, setProperty, setPropertyMap
-
-
-
-
Constructor Detail
-
EasyFactoryConfiguration
public EasyFactoryConfiguration()
-
EasyFactoryConfiguration
public EasyFactoryConfiguration(boolean includeDefaults)
- Parameters:
includeDefaults- Sets whether this instance should start with theConfigurationUtils.getDefaultTools()configuration or not.
-
EasyFactoryConfiguration
public EasyFactoryConfiguration(boolean includeDefaults, String source)- Parameters:
includeDefaults- Sets whether this instance should start with theConfigurationUtils.getDefaultTools()configuration or not.source- a string identify where this instance was created, or something else useful to identify this instance during debugging
-
-
Method Detail
-
addDefaultTools
public EasyFactoryConfiguration addDefaultTools()
Adds theConfigurationUtils.getDefaultTools()configuration to this the current configuration.
-
autoLoad
public EasyFactoryConfiguration autoLoad()
-
autoLoad
public EasyFactoryConfiguration autoLoad(boolean includeDefaults)
-
data
public EasyFactoryConfiguration.EasyData data(String key, Object value)
-
data
public EasyFactoryConfiguration data(String key, String type, Object value)
-
data
protected EasyFactoryConfiguration data(String key, Data.Type type, Object value)
-
string
public EasyFactoryConfiguration string(String key, Object value)
-
number
public EasyFactoryConfiguration number(String key, Object value)
-
bool
public EasyFactoryConfiguration bool(String key, Object value)
-
toolbox
public EasyFactoryConfiguration.EasyWrap<ToolboxConfiguration> toolbox(String scope)
-
tool
public EasyFactoryConfiguration.EasyWrap<ToolConfiguration> tool(String classname)
-
tool
public EasyFactoryConfiguration.EasyWrap<ToolConfiguration> tool(Class clazz)
-
tool
public EasyFactoryConfiguration.EasyWrap<ToolConfiguration> tool(String key, String classname)
-
tool
public EasyFactoryConfiguration.EasyWrap<ToolConfiguration> tool(String key, Class clazz)
-
property
public EasyFactoryConfiguration property(String name, Object value)
-
-