Clover coverage report - picocontainer - 1.2-beta-1
Coverage timestamp: Sun May 29 2005 14:29:04 BST
file stats: LOC: 53   Methods: 0
NCLOC: 9   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ComponentAdapterFactory.java - - - -
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 *
 9    *****************************************************************************/
 10    package org.picocontainer.defaults;
 11   
 12    import org.picocontainer.ComponentAdapter;
 13    import org.picocontainer.Parameter;
 14    import org.picocontainer.PicoIntrospectionException;
 15   
 16    /**
 17    * A component adapter factory is responsible for creating
 18    * {@link ComponentAdapter component adapters}. The main use of the component adapter factory is
 19    * inside {@link DefaultPicoContainer#DefaultPicoContainer(ComponentAdapterFactory)}, where it can
 20    * be used to customize the default component adapter that is used when none is specified
 21    * explicitly.
 22    *
 23    * @author Jon Tirsén
 24    * @version $Revision: 1279 $
 25    */
 26    public interface ComponentAdapterFactory {
 27    /**
 28    * Create a new component adapter based on the specified arguments.
 29    *
 30    * @param componentKey the key to be associated with this adapter. This value should be returned
 31    * from a call to {@link ComponentAdapter#getComponentKey()} on the created adapter.
 32    * @param componentImplementation the implementation class to be associated with this adapter.
 33    * This value should be returned from a call to
 34    * {@link ComponentAdapter#getComponentImplementation()} on the created adapter. Should not
 35    * be null.
 36    * @param parameters additional parameters to use by the component adapter in constructing
 37    * component instances. These may be used, for example, to make decisions about the
 38    * arguments passed into the component constructor. These should be considered hints; they
 39    * may be ignored by some implementations. May be null, and may be of zero length.
 40    * @return a new component adapter based on the specified arguments. Should not return null.
 41    * @throws PicoIntrospectionException if the creation of the component adapter results in a
 42    * {@link PicoIntrospectionException}.
 43    * @throws AssignabilityRegistrationException
 44    * if the creation of the component adapter results in a
 45    * {@link AssignabilityRegistrationException}.
 46    * @throws NotConcreteRegistrationException
 47    * if the creation of the component adapter results in a
 48    * {@link NotConcreteRegistrationException}.
 49    */
 50    ComponentAdapter createComponentAdapter(Object componentKey,
 51    Class componentImplementation,
 52    Parameter[] parameters) throws PicoIntrospectionException, AssignabilityRegistrationException, NotConcreteRegistrationException;
 53    }