| <?xml version="1.0"?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <document> |
| |
| <properties> |
| <title>Using Java</title> |
| <projectfile>xdocs/project.xml</projectfile> |
| <subprojectfile>xdocs/config.project.xml</subprojectfile> |
| </properties> |
| |
| <body> |
| |
| <section name="Configuration using Java"> |
| <p> |
| As of VelocityTools 2, its no longer merely possible to configure |
| things purely via Java, it is now much easier to do and can be done |
| in several different ways. |
| Here again, is an example that is equivalent to those demonstrated |
| in the <a href="config.properties.html">properties</a> and |
| <a href="config.xml.html">xml</a> configurations: |
| </p> |
| |
| <sourcecode> |
| 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"); |
| </sourcecode> |
| |
| <p> |
| This example uses the |
| <a href="javadoc/org/apache/velocity/tools/config/EasyFactoryConfiguration.html">EasyFactoryConfiguration</a> |
| API for brevity, |
| but you can also directly use the |
| <a href="javadoc/org/apache/velocity/tools/config/FactoryConfiguration.html">FactoryConfiguration</a>/ |
| <a href="javadoc/org/apache/velocity/tools/config/ToolboxConfiguration.html">ToolboxConfiguration</a>/ |
| <a href="javadoc/org/apache/velocity/tools/config/ToolConfiguration.html">ToolConfiguration</a>/ |
| <a href="javadoc/org/apache/velocity/tools/config/Data.html">Data</a> |
| API, as you would probably do if you were to construct your |
| configuration via a dependency injection framework (such as Spring). |
| </p> |
| </section> |
| |
| </body> |
| |
| </document> |