Clover coverage report - Ledge Components - SNAPSHOT
Coverage timestamp: Fri Nov 17 2006 05:13:20 CET
file stats: LOC: 83   Methods: 3
NCLOC: 29   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ContextTools.java 100% 100% 100% 100%
coverage
 1    //
 2    //Copyright (c) 2003, Caltha - Gajda, Krzewski, Mach, Potempski Sp.J.
 3    //All rights reserved.
 4    //
 5    //Redistribution and use in source and binary forms, with or without modification,
 6    //are permitted provided that the following conditions are met:
 7    //
 8    //* Redistributions of source code must retain the above copyright notice,
 9    //this list of conditions and the following disclaimer.
 10    //* Redistributions in binary form must reproduce the above copyright notice,
 11    //this list of conditions and the following disclaimer in the documentation
 12    //and/or other materials provided with the distribution.
 13    //* Neither the name of the Caltha - Gajda, Krzewski, Mach, Potempski Sp.J.
 14    //nor the names of its contributors may be used to endorse or promote products
 15    //derived from this software without specific prior written permission.
 16    //
 17    //THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 18    //AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 19    //WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 20    //IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 21    //INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 22    //BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 23    //OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 24    //WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 25    //ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 26    //POSSIBILITY OF SUCH DAMAGE.
 27    //
 28   
 29    package org.objectledge.templating.tools;
 30   
 31    import org.objectledge.pipeline.ProcessingException;
 32    import org.objectledge.templating.TemplatingContext;
 33   
 34    /**
 35    * Context tools components.
 36    *
 37    * @author <a href="mailto:pablo@caltha.pl">Pawel Potempski</a>
 38    */
 39    public class ContextTools
 40    {
 41    /** tool factories list */
 42    private ContextToolFactory[] toolFactories;
 43   
 44    /**
 45    * Component constructor.
 46    *
 47    * @param toolFactories the factories list.
 48    */
 49  92 public ContextTools(ContextToolFactory[] toolFactories)
 50    {
 51  92 this.toolFactories = toolFactories;
 52    }
 53   
 54    /**
 55    * Borrow the tools and put them into the context.
 56    *
 57    * @param templatingContext the templating context.
 58    */
 59  92 public void populateTools(TemplatingContext templatingContext)
 60    throws ProcessingException
 61    {
 62  92 for(int i = 0; i < toolFactories.length; i++)
 63    {
 64  46 templatingContext.put(toolFactories[i].getKey(),
 65    toolFactories[i].getTool());
 66    }
 67    }
 68   
 69    /**
 70    * Recycle all populated tools.
 71    *
 72    * @param templatingContext the templating context.
 73    */
 74  92 public void recycleTools(TemplatingContext templatingContext)
 75    throws ProcessingException
 76    {
 77  92 for(int i = 0; i < toolFactories.length; i++)
 78    {
 79  46 Object tool = templatingContext.get(toolFactories[i].getKey());
 80  46 toolFactories[i].recycleTool(tool);
 81    }
 82    }
 83    }