Package org.apache.velocity.tools.view
Class ViewToolManager
- java.lang.Object
-
- org.apache.velocity.tools.ToolManager
-
- org.apache.velocity.tools.view.ViewToolManager
-
- Direct Known Subclasses:
VelocityView
public class ViewToolManager extends 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 aFactoryConfigurationor having one in the ServletContext attributes underServletUtils.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
Fields Modifier and Type Field Description static StringCREATE_SESSION_PROPERTYstatic StringDEFAULT_TOOLBOX_KEYstatic StringPUBLISH_TOOLBOXES_PROPERTYprotected javax.servlet.ServletContextservletContext-
Fields inherited from class org.apache.velocity.tools.ToolManager
factory, velocity
-
-
Constructor Summary
Constructors Constructor Description ViewToolManager(javax.servlet.ServletContext app)Constructs an instance already configured to use the {@link ConfigurationUtils#getAutoLoaded()()} configuration and 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddToolboxes(ToolContext context)voidautoConfigure(boolean includeDefaults)voidconfigure(FactoryConfiguration config)ToolContextcreateContext(Map<String,Object> toolProps)ViewToolContextcreateContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)protected FactoryConfigurationfindConfig(String path)booleangetCreateSession()booleangetPublishToolboxes()protected ToolboxgetSessionToolbox()StringgetToolboxKey()protected booleanhasSessionTools()voidprepareContext(ViewToolContext context, javax.servlet.http.HttpServletRequest request)protected voidpublishApplicationTools()PublishScope.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 voidunpublishApplicationTools()Removes any publishedScope.APPLICATIONToolbox.protected voidupdateGlobalProperties()Checks the internalToolboxFactoryfor any changes to the createSession or publishToolboxes settings.-
Methods inherited from class org.apache.velocity.tools.ToolManager
configure, createContext, createToolbox, debug, getApplicationToolbox, getLog, getRequestToolbox, getToolboxFactory, getUserCanOverwriteTools, getVelocityEngine, hasApplicationTools, hasRequestTools, hasTools, prepareContext, setToolboxFactory, setUserCanOverwriteTools, setVelocityEngine
-
-
-
-
Field Detail
-
CREATE_SESSION_PROPERTY
public static final String CREATE_SESSION_PROPERTY
- See Also:
- Constant Field Values
-
PUBLISH_TOOLBOXES_PROPERTY
public static final String PUBLISH_TOOLBOXES_PROPERTY
- See Also:
- Constant Field Values
-
DEFAULT_TOOLBOX_KEY
public static final String DEFAULT_TOOLBOX_KEY
-
servletContext
protected javax.servlet.ServletContext servletContext
-
-
Constructor Detail
-
ViewToolManager
public ViewToolManager(javax.servlet.ServletContext app)
Constructs an instance already configured to use the {@link ConfigurationUtils#getAutoLoaded()()} configuration and any configuration specified via a "org.apache.velocity.tools" system property.
-
ViewToolManager
public ViewToolManager(javax.servlet.ServletContext app, boolean includeDefaults)
-
ViewToolManager
public ViewToolManager(javax.servlet.ServletContext app, boolean autoConfig, boolean includeDefaults)
-
-
Method Detail
-
autoConfigure
public void autoConfigure(boolean includeDefaults)
- Overrides:
autoConfigurein classToolManager
-
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.- See Also:
publishToolboxes,setToolboxKey(java.lang.String)
-
getPublishToolboxes
public boolean getPublishToolboxes()
-
setToolboxKey
public void setToolboxKey(String key)
Sets a new attribute key to be used for publishing eachToolbox.- See Also:
setPublishToolboxes(boolean),publishToolboxes
-
getToolboxKey
public String 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.- See Also:
publishToolboxes
-
getCreateSession
public boolean getCreateSession()
-
updateGlobalProperties
protected void updateGlobalProperties()
Checks the internalToolboxFactoryfor any changes to the createSession or publishToolboxes settings.
-
publishApplicationTools
protected void publishApplicationTools()
PublishScope.APPLICATIONToolbox.
-
unpublishApplicationTools
protected void unpublishApplicationTools()
Removes any publishedScope.APPLICATIONToolbox.
-
configure
public void configure(FactoryConfiguration config)
- Overrides:
configurein classToolManager
-
findConfig
protected FactoryConfiguration findConfig(String path)
- Overrides:
findConfigin classToolManager
-
addToolboxes
protected void addToolboxes(ToolContext context)
- Overrides:
addToolboxesin classToolManager
-
createContext
public ToolContext createContext(Map<String,Object> toolProps)
- Overrides:
createContextin classToolManager
-
createContext
public ViewToolContext createContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
-
prepareContext
public void prepareContext(ViewToolContext context, javax.servlet.http.HttpServletRequest request)
-
hasSessionTools
protected boolean hasSessionTools()
-
getSessionToolbox
protected Toolbox getSessionToolbox()
-
publishToolboxes
public void publishToolboxes(javax.servlet.ServletRequest request)
Places theScope.REQUESTToolbox(if any) into theServletRequestattributes usingToolbox.KEYas the key.
-
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.
-
-