Class ViewToolManager
java.lang.Object
org.apache.velocity.tools.ToolManager
org.apache.velocity.tools.view.ViewToolManager
- Direct Known Subclasses:
VelocityView
public class ViewToolManager
extends org.apache.velocity.tools.ToolManager
Manages tools for web applications. This simplifies the process
of getting a tool-populated Velocity context for merging with templates.
It allows for both direct configuration by passing in a
FactoryConfiguration
or having one in the ServletContext attributes under
ServletUtils.CONFIGURATION_KEY, as well as configuration
via a tools.xml or tools.properties file in
either the classpath or the local file system.- Version:
- $Id: ToolManager.java 511959 2007-02-26 19:24:39Z nbubna $
- Author:
- Nathan Bubna
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringprotected javax.servlet.ServletContextFields inherited from class org.apache.velocity.tools.ToolManager
factory, log, velocity -
Constructor Summary
ConstructorsConstructorDescriptionViewToolManager(javax.servlet.ServletContext app) Constructs an instance already configured to use any configuration specified via a "org.apache.velocity.tools" system property.ViewToolManager(javax.servlet.ServletContext app, boolean includeDefaults) ViewToolManager(javax.servlet.ServletContext app, boolean autoConfig, boolean includeDefaults) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddToolboxes(org.apache.velocity.tools.ToolContext context) voidautoConfigure(boolean includeDefaults) voidconfigure(org.apache.velocity.tools.config.FactoryConfiguration config) org.apache.velocity.tools.ToolContextcreateContext(Map<String, Object> toolProps) createContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) protected org.apache.velocity.tools.config.FactoryConfigurationfindConfig(String path) booleanbooleanprotected org.apache.velocity.tools.Toolboxorg.apache.velocity.tools.ToolboxgetSessionToolbox(javax.servlet.http.HttpSession session) booleanvoidprepareContext(ViewToolContext context, javax.servlet.http.HttpServletRequest request) voidPublishScope.APPLICATIONToolbox.voidpublishToolboxes(javax.servlet.http.HttpServletRequest request) Places theScope.REQUESTToolbox(if any) into theHttpServletRequestattributes usingToolbox.KEYas the key, places theScope.SESSIONToolbox (if any) into the attributes of theHttpSession(if any) then ensures that theScope.APPLICATIONToolbox (if any) has been placed in theServletContextattributes.voidpublishToolboxes(javax.servlet.ServletRequest request) Places theScope.REQUESTToolbox(if any) into theServletRequestattributes usingToolbox.KEYas the key.voidsetCreateSession(boolean create) Sets whether or not a new HttpSession should be created when there are session scoped tools to be stored in the session, but no session has been created yet.voidsetPublishToolboxes(boolean publish) Sets whether or not the creation of a newViewToolContextshould make the various scopedToolboxinstances available publically via the HttpServletRequest/HttpSession/ServletContext attributes or simply add the Toolbox instances directly to the context.voidsetToolboxKey(String key) Sets a new attribute key to be used for publishing eachToolbox.protected voidRemoves any publishedScope.APPLICATIONToolbox.protected voidChecks the internalToolboxFactoryfor any changes to the createSession or publishToolboxes settings.Methods inherited from class org.apache.velocity.tools.ToolManager
configure, createContext, createToolbox, getApplicationToolbox, getLog, getRequestToolbox, getToolboxFactory, getUserCanOverwriteTools, getVelocityEngine, hasApplicationTools, hasRequestTools, hasTools, initLog, prepareContext, setToolboxFactory, setUserCanOverwriteTools, setVelocityEngine
-
Field Details
-
CREATE_SESSION_PROPERTY
- See Also:
-
PUBLISH_TOOLBOXES_PROPERTY
- See Also:
-
DEFAULT_TOOLBOX_KEY
-
servletContext
protected javax.servlet.ServletContext servletContext
-
-
Constructor Details
-
ViewToolManager
public ViewToolManager(javax.servlet.ServletContext app) Constructs an instance already configured to use any configuration specified via a "org.apache.velocity.tools" system property.- Parameters:
app- servlet context
-
ViewToolManager
public ViewToolManager(javax.servlet.ServletContext app, boolean includeDefaults) -
ViewToolManager
public ViewToolManager(javax.servlet.ServletContext app, boolean autoConfig, boolean includeDefaults)
-
-
Method Details
-
autoConfigure
public void autoConfigure(boolean includeDefaults) - Overrides:
autoConfigurein classorg.apache.velocity.tools.ToolManager
-
setPublishToolboxes
public void setPublishToolboxes(boolean publish) Sets whether or not the creation of a newViewToolContextshould make the various scopedToolboxinstances available publically via the HttpServletRequest/HttpSession/ServletContext attributes or simply add the Toolbox instances directly to the context. It is important to note that if this is set to false, session-scoped tools will NOT be stored in the session, but instead be recreated for each request.- Parameters:
publish- whether to publish the available toolboxes- See Also:
-
getPublishToolboxes
public boolean getPublishToolboxes() -
setToolboxKey
Sets a new attribute key to be used for publishing eachToolbox.- Parameters:
key- toolbox key- See Also:
-
getToolboxKey
-
setCreateSession
public void setCreateSession(boolean create) Sets whether or not a new HttpSession should be created when there are session scoped tools to be stored in the session, but no session has been created yet.- Parameters:
create- whether to create a new session if needed- See Also:
-
getCreateSession
public boolean getCreateSession() -
updateGlobalProperties
protected void updateGlobalProperties()Checks the internalToolboxFactoryfor any changes to the createSession or publishToolboxes settings. -
publishApplicationTools
public void publishApplicationTools()PublishScope.APPLICATIONToolbox. -
unpublishApplicationTools
protected void unpublishApplicationTools()Removes any publishedScope.APPLICATIONToolbox. -
configure
public void configure(org.apache.velocity.tools.config.FactoryConfiguration config) - Overrides:
configurein classorg.apache.velocity.tools.ToolManager
-
findConfig
- Overrides:
findConfigin classorg.apache.velocity.tools.ToolManager
-
addToolboxes
protected void addToolboxes(org.apache.velocity.tools.ToolContext context) - Overrides:
addToolboxesin classorg.apache.velocity.tools.ToolManager
-
createContext
-
createContext
public ViewToolContext createContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) -
prepareContext
-
hasSessionTools
public boolean hasSessionTools() -
getSessionToolbox
protected org.apache.velocity.tools.Toolbox getSessionToolbox() -
getSessionToolbox
public org.apache.velocity.tools.Toolbox getSessionToolbox(javax.servlet.http.HttpSession session) -
publishToolboxes
public void publishToolboxes(javax.servlet.ServletRequest request) Places theScope.REQUESTToolbox(if any) into theServletRequestattributes usingToolbox.KEYas the key.- Parameters:
request- servlet request
-
publishToolboxes
public void publishToolboxes(javax.servlet.http.HttpServletRequest request) Places theScope.REQUESTToolbox(if any) into theHttpServletRequestattributes usingToolbox.KEYas the key, places theScope.SESSIONToolbox (if any) into the attributes of theHttpSession(if any) then ensures that theScope.APPLICATIONToolbox (if any) has been placed in theServletContextattributes.- Parameters:
request- servlet request
-