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 }