Of course, it is possible to configure things purely via Java, though this too is much easier than it was in VelocityTools 1.x. Here again, is an example that is equivalent to those above:

EasyFactoryConfiguration config = new EasyFactoryConfiguration();
config.toolbox("request").property("xhtml", true)
    .tool("toytool", ToyTool.class).restrictTo("index.vm")
    .tool("custom", CustomTool.class).property("randomProperty", "whatever");
config.toolbox("session").property("create-session", true)
    .tool("map", HashMap.class);
config.toolbox("application")
    .tool(DateTool.class);
config.number("version", 1.1);
config.data("date", "Mon Sep 17 10:08:03 PDT 2007")
    .target(Date.class)
    .converter(DateLocaleConverter.class);
config.bool("isSimple", true);
config.string("foo", "this is foo.");
config.string("bar", "this is bar.");
config.data("dataKeys", "list", "version,date,isSimple,foo,bar,dataKeys,switches");
config.data("switches", "list.boolean", "true,false,false,true");

This example uses the EasyFactoryConfiguration API for brevity, but you can also directly use the FactoryConfiguration ToolboxConfiguration/ToolConfiguration/Data API, as you would probably do if you were to construct your configuration via an dependency injection framework (such as Spring).

  • No labels