org.apache.velocity.tools
Class Toolbox

java.lang.Object
  extended by org.apache.velocity.tools.Toolbox
All Implemented Interfaces:
java.io.Serializable

public class Toolbox
extends java.lang.Object
implements java.io.Serializable

Instances of this class are typically created by a ToolboxFactory on a one-per-scope basis. So, for each application, there would be one application-scoped Toolbox from which you would retrieve tool instances, and for each request, there would be one request-scoped Toolbox. Of course, none of the above is enforced. There's no reason that you can't manually create a Toolbox or have multiple Toolboxes for each scope.

When a Toolbox creates a tool instance asked of it (see get(java.lang.String)), it will cache that instance for future requests.

Version:
$Id: Toolbox.java 511959 2007-02-26 19:24:39Z nbubna $
Author:
Nathan Bubna
See Also:
Serialized Form

Field Summary
private  java.util.Map<java.lang.String,java.lang.Object> cache
           
private  java.util.Map<java.lang.String,ToolInfo> infoMap
           
static java.lang.String KEY
          The key used to place instances in various scopes.
private  java.util.Map<java.lang.String,java.lang.Object> properties
           
private static long serialVersionUID
           
 
Constructor Summary
Toolbox(java.util.Map<java.lang.String,ToolInfo> toolInfo)
           
Toolbox(java.util.Map<java.lang.String,ToolInfo> toolInfo, java.util.Map<java.lang.String,java.lang.Object> properties)
           
 
Method Summary
protected  void cacheData(java.util.Map<java.lang.String,java.lang.Object> data)
           
 Toolbox combine(Toolbox... toolboxes)
          Returns a new Toolbox that is a combination of this Toolbox with one or more specified Toolboxes.
 java.lang.Object get(java.lang.String key)
           
 java.lang.Object get(java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.lang.Object get(java.lang.String key, java.lang.String path)
           
 java.lang.Object get(java.lang.String key, java.lang.String path, java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.util.Map<java.lang.String,java.lang.Object> getAll(java.util.Map<java.lang.String,java.lang.Object> context)
           
protected  java.lang.Object getFromCache(java.lang.String key, java.lang.String path)
           
protected  java.lang.Object getFromInfo(java.lang.String key, java.lang.String path, java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.util.Set<java.lang.String> getKeys()
           
 java.util.Map<java.lang.String,java.lang.Object> getProperties()
           
 java.util.Map<java.lang.String,java.lang.Class> getToolClassMap()
          Return a new Map link tools' keys to their Classes.
protected  boolean hasPermission(ToolInfo info, java.lang.String path)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KEY

public static final java.lang.String KEY
The key used to place instances in various scopes.


serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

infoMap

private java.util.Map<java.lang.String,ToolInfo> infoMap

properties

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

cache

private java.util.Map<java.lang.String,java.lang.Object> cache
Constructor Detail

Toolbox

public Toolbox(java.util.Map<java.lang.String,ToolInfo> toolInfo)

Toolbox

public Toolbox(java.util.Map<java.lang.String,ToolInfo> toolInfo,
               java.util.Map<java.lang.String,java.lang.Object> properties)
Method Detail

cacheData

protected void cacheData(java.util.Map<java.lang.String,java.lang.Object> data)

getProperties

public java.util.Map<java.lang.String,java.lang.Object> getProperties()

get

public java.lang.Object get(java.lang.String key)

get

public java.lang.Object get(java.lang.String key,
                            java.lang.String path)

get

public java.lang.Object get(java.lang.String key,
                            java.util.Map<java.lang.String,java.lang.Object> context)

get

public java.lang.Object get(java.lang.String key,
                            java.lang.String path,
                            java.util.Map<java.lang.String,java.lang.Object> context)

getFromCache

protected java.lang.Object getFromCache(java.lang.String key,
                                        java.lang.String path)

getFromInfo

protected java.lang.Object getFromInfo(java.lang.String key,
                                       java.lang.String path,
                                       java.util.Map<java.lang.String,java.lang.Object> context)

hasPermission

protected boolean hasPermission(ToolInfo info,
                                java.lang.String path)

getKeys

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

getToolClassMap

public java.util.Map<java.lang.String,java.lang.Class> getToolClassMap()
Return a new Map link tools' keys to their Classes. This will not instantiate any tools, it is merely informational. This will not include the keys for any cached data. Note that inclusion in this map does NOT mean that all these tools will be available for all requests, as this map ignores all path restrictions on the tools.


getAll

public java.util.Map<java.lang.String,java.lang.Object> getAll(java.util.Map<java.lang.String,java.lang.Object> context)

combine

public Toolbox combine(Toolbox... toolboxes)
Returns a new Toolbox that is a combination of this Toolbox with one or more specified Toolboxes. Neither this instance nor those specified are modified.



Copyright (c) 2003-2007 Apache Software Foundation