|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.velocity.tools.view.XMLToolboxManager
A ToolboxManager for loading a toolbox from xml.
A toolbox manager is responsible for automatically filling the Velocity context with a set of view tools. This class provides the following features:
Configuration
The toolbox manager is configured through an XML-based configuration
file. The configuration file is passed to the load(java.io.InputStream input)
method. The required format is shown in the following example:
<?xml version="1.0"?> <toolbox> <tool> <key>toolLoader</key> <class>org.apache.velocity.tools.tools.ToolLoader</class> </tool> <tool> <key>math</key> <class>org.apache.velocity.tools.tools.MathTool</class> </tool> <data type="Number"> <key>luckynumber</key> <value>1.37</class> </data> <data type="String"> <key>greeting</key> <value>Hello World!</class> </data> </toolbox>
Field Summary | |
static java.lang.String |
ATTRIBUTE_TYPE
|
static java.lang.String |
BASE_NODE
|
static java.lang.String |
ELEMENT_CLASS
|
static java.lang.String |
ELEMENT_DATA
|
static java.lang.String |
ELEMENT_KEY
|
static java.lang.String |
ELEMENT_TOOL
|
static java.lang.String |
ELEMENT_VALUE
|
private java.util.List |
toolinfo
|
Constructor Summary | |
XMLToolboxManager()
Default constructor |
Method Summary | |
void |
addTool(ToolInfo info)
Adds a tool to be managed |
ToolboxContext |
getToolboxContext(java.lang.Object initData)
Creates a ToolboxContext from the tools and data
in this manager. |
void |
load(java.io.InputStream input)
Reads an XML document from an InputStream
using dom4j and
sets up the toolbox from that. |
protected void |
log(java.lang.String s)
Default implementation logs messages to Velocity's log system |
protected ToolInfo |
readDataInfo(org.dom4j.Element e)
|
protected boolean |
readElement(org.dom4j.Element e)
Delegates the reading of an element's ToolInfo and adds the returned instance to the tool list. |
protected ToolInfo |
readToolInfo(org.dom4j.Element e)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String BASE_NODE
public static final java.lang.String ELEMENT_TOOL
public static final java.lang.String ELEMENT_DATA
public static final java.lang.String ELEMENT_KEY
public static final java.lang.String ELEMENT_CLASS
public static final java.lang.String ELEMENT_VALUE
public static final java.lang.String ATTRIBUTE_TYPE
private java.util.List toolinfo
Constructor Detail |
public XMLToolboxManager()
Method Detail |
public void addTool(ToolInfo info)
ToolboxManager
addTool
in interface ToolboxManager
public ToolboxContext getToolboxContext(java.lang.Object initData)
ToolboxManager
ToolboxContext
from the tools and data
in this manager. Tools that implement the ViewTool
interface should be initialized using the given initData.
getToolboxContext
in interface ToolboxManager
initData
- data used to initialize ViewTools
protected void log(java.lang.String s)
public void load(java.io.InputStream input) throws java.lang.Exception
Reads an XML document from an InputStream
using dom4j and
sets up the toolbox from that.
<?xml version="1.0"?> <!ELEMENT toolbox (tool*,data*)> <!ELEMENT tool (key,class,#PCDATA)> <!ELEMENT data (key,value)> <!ATTLIST data type (string|number|boolean) "string"> <!ELEMENT key (#CDATA)> <!ELEMENT class (#CDATA)> <!ELEMENT value (#CDATA)>
input
- the InputStream to read from
java.lang.Exception
protected boolean readElement(org.dom4j.Element e) throws java.lang.Exception
java.lang.Exception
protected ToolInfo readToolInfo(org.dom4j.Element e) throws java.lang.Exception
java.lang.Exception
protected ToolInfo readDataInfo(org.dom4j.Element e) throws java.lang.Exception
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |