Author: nbubna Date: Fri Mar 30 15:03:54 2007 New Revision: 524291 URL: http://svn.apache.org/viewvc?view=rev&rev=524291 Log: add combine() method for mergine toolboxes
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Toolbox.java Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Toolbox.java URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Toolbox.java?view=diff&rev=524291&r1=524290&r2=524291 ============================================================================== --- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Toolbox.java (original) +++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Toolbox.java Fri Mar 30 15:03:54 2007 @@ -35,7 +35,7 @@ public class Toolbox { private Map<String,ToolInfo> infoMap; - private Map properties; + private Map<String,Object> properties; private Map<String,Object> cache; public Toolbox(Map<String,ToolInfo> toolInfo) @@ -148,6 +148,22 @@ } // then return a copy of the cache return new HashMap<String,Object>(this.cache); + } + + /** + * Returns a new [EMAIL PROTECTED] Toolbox} that is a combination of this + * toolbox with one or more specified [EMAIL PROTECTED] Toolbox}es. + */ + public Toolbox combine(Toolbox... toolboxes) + { + Map<String,ToolInfo> info = new HashMap<String,ToolInfo>(this.infoMap); + Map<String,Object> props = new HashMap<String,Object>(properties); + for (Toolbox toolbox : toolboxes) + { + info.putAll(toolbox.infoMap); + props.putAll(toolbox.properties); + } + return new Toolbox(info, props); } }