org.apache.velocity.tools
Class ToolContext

java.lang.Object
  extended by org.apache.velocity.tools.ToolContext
All Implemented Interfaces:
org.apache.velocity.context.Context
Direct Known Subclasses:
ViewToolContext

public class ToolContext
extends java.lang.Object
implements org.apache.velocity.context.Context

Context implementation that keeps a list of Toolboxes and returns them as requested, using its internal context Map as the dynamic properties passed to the requested tools when they are first created.

Version:
$Id: ToolContext.java 511959 2007-02-26 19:24:39Z nbubna $
Author:
Nathan Bubna

Field Summary
static java.lang.String CATCH_EXCEPTIONS_KEY
           
static java.lang.String CONTEXT_KEY
           
static java.lang.String ENGINE_KEY
           
private  java.util.Map<java.lang.String,java.lang.Object> localContext
           
static java.lang.String LOCALE_KEY
           
static java.lang.String LOG_KEY
           
static java.lang.String PATH_KEY
           
private  java.util.List<Toolbox> toolboxes
           
private  java.util.Map<java.lang.String,java.lang.Object> toolProps
           
private  boolean userOverwrite
           
 
Constructor Summary
ToolContext()
           
ToolContext(java.util.Map<java.lang.String,java.lang.Object> toolProps)
          Creates an instance starting with the specified tool properties.
ToolContext(org.apache.velocity.app.VelocityEngine engine)
          Creates an instance that automatically has the specified VelocityEngine and related tool properties set.
 
Method Summary
 void addToolbox(Toolbox toolbox)
           
 boolean containsKey(java.lang.Object key)
           
protected  java.lang.Object findTool(java.lang.String key)
           
 java.lang.Object get(java.lang.String key)
           
 java.lang.Object[] getKeys()
           
 java.util.Map<java.lang.String,java.lang.Object> getToolbox()
          Returns a Map of all tools available to this context.
protected  java.util.List<Toolbox> getToolboxes()
           
 java.util.Map<java.lang.String,java.lang.Class> getToolClassMap()
          Gets a map of keys to classes for all available tools.
protected  java.util.Map<java.lang.String,java.lang.Object> getToolProperties()
           
 boolean getUserCanOverwriteTools()
          Default is true.
protected  java.lang.Object internalGet(java.lang.String key)
           
 java.util.Set<java.lang.String> keySet()
           
 java.lang.Object put(java.lang.String key, java.lang.Object value)
           
 void putAll(java.util.Map context)
           
 void putToolProperties(java.util.Map<java.lang.String,java.lang.Object> props)
           
 java.lang.Object putToolProperty(java.lang.String key, java.lang.Object value)
           
 void putVelocityEngine(org.apache.velocity.app.VelocityEngine engine)
          Puts the specified VelocityEngine in the tool properties, as well as the Log for that engine.
 java.lang.Object remove(java.lang.Object key)
           
 void setUserCanOverwriteTools(boolean overwrite)
          Set whether or not tool references can be overwritten within a template.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PATH_KEY

public static final java.lang.String PATH_KEY
See Also:
Constant Field Values

CONTEXT_KEY

public static final java.lang.String CONTEXT_KEY
See Also:
Constant Field Values

ENGINE_KEY

public static final java.lang.String ENGINE_KEY
See Also:
Constant Field Values

LOCALE_KEY

public static final java.lang.String LOCALE_KEY
See Also:
Constant Field Values

LOG_KEY

public static final java.lang.String LOG_KEY
See Also:
Constant Field Values

CATCH_EXCEPTIONS_KEY

public static final java.lang.String CATCH_EXCEPTIONS_KEY
See Also:
Constant Field Values

toolboxes

private java.util.List<Toolbox> toolboxes

toolProps

private java.util.Map<java.lang.String,java.lang.Object> toolProps

localContext

private java.util.Map<java.lang.String,java.lang.Object> localContext

userOverwrite

private boolean userOverwrite
Constructor Detail

ToolContext

public ToolContext()

ToolContext

public ToolContext(org.apache.velocity.app.VelocityEngine engine)
Creates an instance that automatically has the specified VelocityEngine and related tool properties set.


ToolContext

public ToolContext(java.util.Map<java.lang.String,java.lang.Object> toolProps)
Creates an instance starting with the specified tool properties.

Method Detail

setUserCanOverwriteTools

public void setUserCanOverwriteTools(boolean overwrite)
Set whether or not tool references can be overwritten within a template. The default value is true. Set this to false if you want to ensure that your tool references are never replaced within the course of a template.


getUserCanOverwriteTools

public boolean getUserCanOverwriteTools()
Default is true.

See Also:
setUserCanOverwriteTools(boolean)

addToolbox

public void addToolbox(Toolbox toolbox)

getToolbox

public java.util.Map<java.lang.String,java.lang.Object> getToolbox()
Returns a Map of all tools available to this context. NOTE: this is not a cheap operation as it will request and initialize an instance of every available tool.


getToolClassMap

public java.util.Map<java.lang.String,java.lang.Class> getToolClassMap()
Gets a map of keys to classes for all available tools. This does not include any data nor any local context values.


getToolboxes

protected java.util.List<Toolbox> getToolboxes()

getToolProperties

protected java.util.Map<java.lang.String,java.lang.Object> getToolProperties()

putVelocityEngine

public void putVelocityEngine(org.apache.velocity.app.VelocityEngine engine)
Puts the specified VelocityEngine in the tool properties, as well as the Log for that engine. Last, if the specified engine has a MethodExceptionEventHandler configured, then this will automatically set CATCH_EXCEPTIONS_KEY to false in the tool properties.


putToolProperty

public java.lang.Object putToolProperty(java.lang.String key,
                                        java.lang.Object value)

putToolProperties

public void putToolProperties(java.util.Map<java.lang.String,java.lang.Object> props)

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value)
Specified by:
put in interface org.apache.velocity.context.Context

get

public java.lang.Object get(java.lang.String key)
Specified by:
get in interface org.apache.velocity.context.Context

internalGet

protected java.lang.Object internalGet(java.lang.String key)

findTool

protected java.lang.Object findTool(java.lang.String key)

keySet

public java.util.Set<java.lang.String> keySet()

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface org.apache.velocity.context.Context

getKeys

public java.lang.Object[] getKeys()
Specified by:
getKeys in interface org.apache.velocity.context.Context

remove

public java.lang.Object remove(java.lang.Object key)
Specified by:
remove in interface org.apache.velocity.context.Context

putAll

public void putAll(java.util.Map context)


Copyright (c) 2003-2007 Apache Software Foundation