Class 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
    • Constructor Summary

      Constructors 
      Constructor Description
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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

      • 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.
      • 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)