Clover coverage report - picocontainer - 1.2-beta-1
Coverage timestamp: Sun May 29 2005 14:29:04 BST
file stats: LOC: 91   Methods: 8
NCLOC: 42   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
CachingPicoContainer.java - 83.3% 75% 80%
coverage coverage
 1    /*****************************************************************************
 2    * Copyright (C) PicoContainer Organization. All rights reserved. *
 3    * ------------------------------------------------------------------------- *
 4    * The software in this package is published under the terms of the BSD *
 5    * style license a copy of which has been included with this distribution in *
 6    * the LICENSE.txt file. *
 7    * *
 8    * Original code by the committers *
 9    *****************************************************************************/
 10    package org.picocontainer.alternatives;
 11   
 12    import org.picocontainer.MutablePicoContainer;
 13    import org.picocontainer.PicoContainer;
 14    import org.picocontainer.LifecycleManager;
 15    import org.picocontainer.defaults.CachingComponentAdapterFactory;
 16    import org.picocontainer.defaults.ComponentAdapterFactory;
 17    import org.picocontainer.defaults.DefaultComponentAdapterFactory;
 18    import org.picocontainer.defaults.DefaultPicoContainer;
 19    import org.picocontainer.defaults.DefaultLifecycleManager;
 20   
 21    import java.io.Serializable;
 22   
 23    /**
 24    * <p/>
 25    * The Cacing version of {@link org.picocontainer.defaults.DefaultPicoContainer}
 26    * </p>
 27    *
 28    * @author Paul Hammant
 29    * @version $Revision: 1845 $
 30    */
 31    public class CachingPicoContainer extends AbstractDelegatingMutablePicoContainer implements Serializable {
 32    private LifecycleManager lifecycleManager;
 33    private CachingComponentAdapterFactory caf;
 34   
 35    /**
 36    * Creates a new container with a parent container.
 37    */
 38  74 public CachingPicoContainer(CachingComponentAdapterFactory caf, PicoContainer parent, LifecycleManager lifecycleManager) {
 39  74 super(new DefaultPicoContainer(caf, parent, lifecycleManager));
 40  74 this.lifecycleManager = lifecycleManager;
 41  74 this.caf = caf;
 42    }
 43   
 44    /**
 45    * Creates a new container with a parent container.
 46    */
 47  72 public CachingPicoContainer(CachingComponentAdapterFactory caf, PicoContainer parent) {
 48  72 this(caf, parent, new DefaultLifecycleManager());
 49    }
 50   
 51  72 public CachingPicoContainer(ComponentAdapterFactory caf, PicoContainer parent) {
 52  72 this(new CachingComponentAdapterFactory(caf), parent);
 53    }
 54   
 55    /**
 56    * Creates a new container with a parent container.
 57    */
 58  70 public CachingPicoContainer(PicoContainer parent) {
 59  70 this(new DefaultComponentAdapterFactory(), parent);
 60    }
 61   
 62    /**
 63    * Creates a new container with a parent container.
 64    */
 65  2 public CachingPicoContainer(PicoContainer parent, LifecycleManager lifecycleManager) {
 66  2 this(new CachingComponentAdapterFactory(new DefaultComponentAdapterFactory()), parent, lifecycleManager);
 67    }
 68   
 69    /**
 70    * Creates a new container with a parent container.
 71    */
 72  0 public CachingPicoContainer(ComponentAdapterFactory caf) {
 73  0 this(caf, null);
 74    }
 75   
 76   
 77    /**
 78    * Creates a new container with no parent container.
 79    */
 80  0 public CachingPicoContainer() {
 81  0 this((PicoContainer) null);
 82    }
 83   
 84   
 85  8 public MutablePicoContainer makeChildContainer() {
 86  8 ImplementationHidingCachingPicoContainer pc = new ImplementationHidingCachingPicoContainer(caf, this, lifecycleManager);
 87  8 getDelegate().addChildContainer(pc);
 88  8 return pc;
 89    }
 90   
 91    }