|
||||||||||
| 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
|
+--org.apache.velocity.tools.view.servlet.ServletToolboxManager
A toolbox manager for the servlet environment.
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 XMLToolboxManager.load(java.io.InputStream input)
method. The required format is shown in the following example:
<?xml version="1.0"?>
<toolbox>
<tool>
<key>toolLoader</key>
<scope>application</scope>
<class>org.apache.velocity.tools.tools.ToolLoader</class>
</tool>
<tool>
<key>math</key>
<scope>application</scope>
<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>
The recommended location for the configuration file is the WEB-INF directory of the web application.
| Field Summary | |
private java.util.Map |
appTools
|
private boolean |
createSession
|
static java.lang.String |
ELEMENT_CREATE_SESSION
|
static java.lang.String |
ELEMENT_SCOPE
|
private static java.util.HashMap |
managersMap
|
private java.util.ArrayList |
requestToolInfo
|
private javax.servlet.ServletContext |
servletContext
|
static java.lang.String |
SESSION_TOOLS_KEY
|
private java.util.ArrayList |
sessionToolInfo
|
static java.lang.String |
VALUE_NO
|
static java.lang.String |
VALUE_YES
|
| Fields inherited from class org.apache.velocity.tools.view.XMLToolboxManager |
ATTRIBUTE_TYPE, BASE_NODE, ELEMENT_CLASS, ELEMENT_DATA, ELEMENT_KEY, ELEMENT_TOOL, ELEMENT_VALUE |
| Constructor Summary | |
private |
ServletToolboxManager(javax.servlet.ServletContext servletContext)
Use getInstance(ServletContext,String) instead to ensure there is exactly one ServletToolboxManager per xml toolbox configuration file. |
| Method Summary | |
void |
addTool(ToolInfo info)
Overrides XMLToolboxManager to separate tools by scope. |
static ServletToolboxManager |
getInstance(javax.servlet.ServletContext servletContext,
java.lang.String toolboxFile)
ServletToolboxManager factory method. |
ToolboxContext |
getToolboxContext(java.lang.Object initData)
Overrides XMLToolboxManager to handle the separate scopes. |
protected void |
log(java.lang.String s)
Overrides XMLToolboxManager |
protected boolean |
readCreateSession(org.dom4j.Element e)
Reads the value for create-session. |
protected boolean |
readElement(org.dom4j.Element e)
Overrides XMLToolboxManager to handle the create-session element. |
protected ToolInfo |
readToolInfo(org.dom4j.Element e)
Overrides XMLToolboxManager to read a ServletToolInfo
instead of a ViewToolInfo. |
void |
setCreateSession(boolean b)
Sets whether or not to create a new session when none exists for the current request and session-scoped tools have been defined for this toolbox. |
| Methods inherited from class org.apache.velocity.tools.view.XMLToolboxManager |
load, readDataInfo |
| 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 ELEMENT_SCOPE
public static final java.lang.String ELEMENT_CREATE_SESSION
public static final java.lang.String VALUE_YES
public static final java.lang.String VALUE_NO
public static final java.lang.String SESSION_TOOLS_KEY
private javax.servlet.ServletContext servletContext
private java.util.Map appTools
private java.util.ArrayList sessionToolInfo
private java.util.ArrayList requestToolInfo
private boolean createSession
private static java.util.HashMap managersMap
| Constructor Detail |
private ServletToolboxManager(javax.servlet.ServletContext servletContext)
| Method Detail |
public static ServletToolboxManager getInstance(javax.servlet.ServletContext servletContext,
java.lang.String toolboxFile)
public void setCreateSession(boolean b)
Sets whether or not to create a new session when none exists for the current request and session-scoped tools have been defined for this toolbox.
If true, then a call to getToolboxContext(Object) will
create a new session if none currently exists for this request and
the toolbox has one or more session-scoped tools designed.
If false, then a call to getToolboxContext(Object) will never create a new session for the current request. This effectively means that no session-scoped tools will be added to the ToolboxContext for a request that does not have a session object.
The default value is true.
protected void log(java.lang.String s)
log in class XMLToolboxManager
protected boolean readElement(org.dom4j.Element e)
throws java.lang.Exception
readElement in class XMLToolboxManagerjava.lang.Exception
protected boolean readCreateSession(org.dom4j.Element e)
throws java.lang.Exception
java.lang.ExceptionsetCreateSession(boolean)
protected ToolInfo readToolInfo(org.dom4j.Element e)
throws java.lang.Exception
ServletToolInfo
instead of a ViewToolInfo.
readToolInfo in class XMLToolboxManagerjava.lang.Exceptionpublic void addTool(ToolInfo info)
addTool in interface ToolboxManageraddTool in class XMLToolboxManagerpublic ToolboxContext getToolboxContext(java.lang.Object initData)
getToolboxContext in interface ToolboxManagergetToolboxContext in class XMLToolboxManagerinitData - the ViewContext for the current servlet request
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||