KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > picocontainer > defaults > ConstructorInjectionComponentAdapterFactory


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  * Idea by Rachel Davies, Original code by Aslak Hellesoy and Paul Hammant *
9  *****************************************************************************/

10
11 package org.picocontainer.defaults;
12
13 import org.picocontainer.ComponentAdapter;
14 import org.picocontainer.Parameter;
15 import org.picocontainer.PicoIntrospectionException;
16
17 import java.io.Serializable JavaDoc;
18
19 /**
20  * @author Jon Tirsén
21  * @version $Revision: 1840 $
22  */

23 public class ConstructorInjectionComponentAdapterFactory implements ComponentAdapterFactory, Serializable JavaDoc {
24     private final boolean allowNonPublicClasses;
25     private ComponentMonitor componentMonitor;
26
27     public ConstructorInjectionComponentAdapterFactory(boolean allowNonPublicClasses, ComponentMonitor componentMonitor) {
28         this.allowNonPublicClasses = allowNonPublicClasses;
29         this.componentMonitor = componentMonitor;
30     }
31
32     public ConstructorInjectionComponentAdapterFactory(boolean allowNonPublicClasses) {
33         this.allowNonPublicClasses = allowNonPublicClasses;
34         this.componentMonitor = NullComponentMonitor.getInstance();
35     }
36
37     public ConstructorInjectionComponentAdapterFactory() {
38         this(false);
39     }
40
41     public ComponentAdapter createComponentAdapter(Object JavaDoc componentKey,
42                                                    Class JavaDoc componentImplementation,
43                                                    Parameter[] parameters)
44             throws PicoIntrospectionException, AssignabilityRegistrationException, NotConcreteRegistrationException {
45         return new ConstructorInjectionComponentAdapter(componentKey, componentImplementation, parameters, allowNonPublicClasses, componentMonitor);
46     }
47 }
48
Popular Tags