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 * Original code by the committers * 009 *****************************************************************************/ 010 package org.picocontainer.containers; 011 012 import java.util.Properties; 013 import org.picocontainer.ComponentAdapter; 014 import org.picocontainer.MutablePicoContainer; 015 import org.picocontainer.Parameter; 016 import org.picocontainer.PicoCompositionException; 017 import org.picocontainer.PicoContainer; 018 import org.picocontainer.lifecycle.LifecycleState; 019 020 /** 021 * abstract base class for delegating to mutable containers 022 * @author Paul Hammant 023 */ 024 public abstract class AbstractDelegatingMutablePicoContainer extends AbstractDelegatingPicoContainer implements MutablePicoContainer { 025 026 public AbstractDelegatingMutablePicoContainer(MutablePicoContainer delegate) { 027 super(delegate); 028 } 029 030 public MutablePicoContainer addComponent(Object componentKey, 031 Object componentImplementationOrInstance, 032 Parameter... parameters) throws PicoCompositionException { 033 return getDelegate().addComponent(componentKey, componentImplementationOrInstance, parameters); 034 } 035 036 public MutablePicoContainer addComponent(Object implOrInstance) throws PicoCompositionException { 037 return getDelegate().addComponent(implOrInstance); 038 } 039 040 public MutablePicoContainer addConfig(String name, Object val) { 041 return getDelegate().addConfig(name, val); 042 } 043 044 public MutablePicoContainer addAdapter(ComponentAdapter<?> componentAdapter) throws PicoCompositionException { 045 return getDelegate().addAdapter(componentAdapter); 046 } 047 048 public <T> ComponentAdapter<T> removeComponent(Object componentKey) { 049 return getDelegate().removeComponent(componentKey); 050 } 051 052 public <T> ComponentAdapter<T> removeComponentByInstance(T componentInstance) { 053 return getDelegate().removeComponentByInstance(componentInstance); 054 } 055 056 public MutablePicoContainer addChildContainer(PicoContainer child) { 057 return getDelegate().addChildContainer(child); 058 } 059 060 public boolean removeChildContainer(PicoContainer child) { 061 return getDelegate().removeChildContainer(child); 062 } 063 064 public MutablePicoContainer change(Properties... properties) { 065 return getDelegate().change(properties); 066 } 067 068 public MutablePicoContainer as(Properties... properties) { 069 return getDelegate().as(properties); 070 } 071 072 public void dispose() { 073 getDelegate().dispose(); 074 } 075 076 public MutablePicoContainer makeChildContainer() { 077 078 return null; 079 } 080 081 public void start() { 082 getDelegate().start(); 083 } 084 085 public void stop() { 086 getDelegate().stop(); 087 } 088 089 public MutablePicoContainer getDelegate() { 090 return (MutablePicoContainer) super.getDelegate(); 091 } 092 093 public void setName(String name) { 094 getDelegate().setName(name); 095 } 096 097 public void setLifecycleState(LifecycleState lifecycleState) { 098 getDelegate().setLifecycleState(lifecycleState); 099 } 100 101 }