Clover coverage report - PicoContainer - 1.1
Coverage timestamp: Thu Nov 4 2004 11:55:45 CST
file stats: LOC: 54   Methods: 0
NCLOC: 9   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 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: 1.8 $
 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   
 }
 54