001 /*****************************************************************************
002 * Copyright (c) PicoContainer Organization. All rights reserved. *
003 * ------------------------------------------------------------------------- *
004 * The software in this package is published under the terms of the BSD *
005 * style license a copy of which has been included with this distribution in *
006 * the LICENSE.txt file. *
007 * *
008 * Idea by Rachel Davies, Original code by Aslak Hellesoy and Paul Hammant *
009 *****************************************************************************/
010
011 package org.picocontainer.defaults;
012
013 import org.picocontainer.ComponentAdapter;
014 import org.picocontainer.Parameter;
015 import org.picocontainer.PicoIntrospectionException;
016
017 /**
018 * @author Aslak Hellesøy
019 * @author <a href="Rafal.Krzewski">rafal@caltha.pl</a>
020 * @version $Revision: 1651 $
021 */
022 public class CachingComponentAdapterFactory extends DecoratingComponentAdapterFactory {
023 public CachingComponentAdapterFactory() {
024 this(null);
025 }
026
027 public CachingComponentAdapterFactory(ComponentAdapterFactory delegate) {
028 super(delegate);
029 }
030
031 public ComponentAdapter createComponentAdapter(Object componentKey, Class componentImplementation, Parameter[] parameters)
032 throws PicoIntrospectionException, AssignabilityRegistrationException, NotConcreteRegistrationException {
033 return new CachingComponentAdapter(super.createComponentAdapter(componentKey, componentImplementation, parameters));
034
035 }
036 }