Class CachingMutablePicoContainer
java.lang.Object
com.atlassian.jira.component.pico.CachingMutablePicoContainer
- All Implemented Interfaces:
org.picocontainer.Disposable,org.picocontainer.MutablePicoContainer,org.picocontainer.PicoContainer,org.picocontainer.Startable
public class CachingMutablePicoContainer
extends Object
implements org.picocontainer.MutablePicoContainer
Wrapper around MutablePicoContainer which provides simple component caching.
This is to workaround performance problems in Pico 2 as reported at
https://extranet.atlassian.com/pages/viewpage.action?pageId=2193130032&focusedCommentId=2193132213#comment-2193132213
-
Constructor Summary
ConstructorsConstructorDescriptionCachingMutablePicoContainer(org.picocontainer.MutablePicoContainer delegatePicoContainer) -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(org.picocontainer.PicoVisitor visitor) org.picocontainer.MutablePicoContaineraddAdapter(org.picocontainer.ComponentAdapter<?> componentAdapter) org.picocontainer.MutablePicoContaineraddChildContainer(org.picocontainer.PicoContainer child) org.picocontainer.MutablePicoContaineraddComponent(Object implOrInstance) org.picocontainer.MutablePicoContaineraddComponent(Object componentKey, Object componentImplementationOrInstance, org.picocontainer.Parameter... parameters) org.picocontainer.MutablePicoContainerorg.picocontainer.MutablePicoContaineras(Properties... properties) org.picocontainer.MutablePicoContainerchange(Properties... properties) voiddispose()<T> TgetComponent(Class<T> componentType) <T> TgetComponent(Class<T> componentType, Class<? extends Annotation> binding) getComponent(Object componentKeyOrType) getComponent(Object componentKeyOrType, Type into) <T> org.picocontainer.ComponentAdapter<T>getComponentAdapter(Class<T> componentType, Class<? extends Annotation> binding) <T> org.picocontainer.ComponentAdapter<T>getComponentAdapter(Class<T> componentType, org.picocontainer.NameBinding componentNameBinding) org.picocontainer.ComponentAdapter<?>getComponentAdapter(Object componentKey) Collection<org.picocontainer.ComponentAdapter<?>><T> List<org.picocontainer.ComponentAdapter<T>>getComponentAdapters(Class<T> componentType) <T> List<org.picocontainer.ComponentAdapter<T>>getComponentAdapters(Class<T> componentType, Class<? extends Annotation> binding) <T> List<T>getComponents(Class<T> componentType) org.picocontainer.lifecycle.LifecycleStategetName()org.picocontainer.PicoContainerorg.picocontainer.MutablePicoContainerbooleanremoveChildContainer(org.picocontainer.PicoContainer child) <T> org.picocontainer.ComponentAdapter<T>removeComponent(Object componentKey) <T> org.picocontainer.ComponentAdapter<T>removeComponentByInstance(T componentInstance) voidsetLifecycleState(org.picocontainer.lifecycle.LifecycleState lifecycleState) voidvoidstart()voidstop()
-
Constructor Details
-
CachingMutablePicoContainer
public CachingMutablePicoContainer(org.picocontainer.MutablePicoContainer delegatePicoContainer)
-
-
Method Details
-
addComponent
public org.picocontainer.MutablePicoContainer addComponent(Object componentKey, Object componentImplementationOrInstance, org.picocontainer.Parameter... parameters) - Specified by:
addComponentin interfaceorg.picocontainer.MutablePicoContainer
-
addComponent
- Specified by:
addComponentin interfaceorg.picocontainer.MutablePicoContainer
-
addConfig
- Specified by:
addConfigin interfaceorg.picocontainer.MutablePicoContainer
-
addAdapter
public org.picocontainer.MutablePicoContainer addAdapter(org.picocontainer.ComponentAdapter<?> componentAdapter) - Specified by:
addAdapterin interfaceorg.picocontainer.MutablePicoContainer
-
removeComponent
- Specified by:
removeComponentin interfaceorg.picocontainer.MutablePicoContainer
-
removeComponentByInstance
public <T> org.picocontainer.ComponentAdapter<T> removeComponentByInstance(T componentInstance) - Specified by:
removeComponentByInstancein interfaceorg.picocontainer.MutablePicoContainer
-
makeChildContainer
public org.picocontainer.MutablePicoContainer makeChildContainer()- Specified by:
makeChildContainerin interfaceorg.picocontainer.MutablePicoContainer
-
addChildContainer
public org.picocontainer.MutablePicoContainer addChildContainer(org.picocontainer.PicoContainer child) - Specified by:
addChildContainerin interfaceorg.picocontainer.MutablePicoContainer
-
removeChildContainer
public boolean removeChildContainer(org.picocontainer.PicoContainer child) - Specified by:
removeChildContainerin interfaceorg.picocontainer.MutablePicoContainer
-
change
- Specified by:
changein interfaceorg.picocontainer.MutablePicoContainer
-
as
- Specified by:
asin interfaceorg.picocontainer.MutablePicoContainer
-
setName
- Specified by:
setNamein interfaceorg.picocontainer.MutablePicoContainer
-
setLifecycleState
public void setLifecycleState(org.picocontainer.lifecycle.LifecycleState lifecycleState) - Specified by:
setLifecycleStatein interfaceorg.picocontainer.MutablePicoContainer
-
getName
- Specified by:
getNamein interfaceorg.picocontainer.MutablePicoContainer
-
getLifecycleState
public org.picocontainer.lifecycle.LifecycleState getLifecycleState()- Specified by:
getLifecycleStatein interfaceorg.picocontainer.MutablePicoContainer
-
getComponent
- Specified by:
getComponentin interfaceorg.picocontainer.PicoContainer
-
getComponent
- Specified by:
getComponentin interfaceorg.picocontainer.PicoContainer
-
getComponent
- Specified by:
getComponentin interfaceorg.picocontainer.PicoContainer
-
getComponent
- Specified by:
getComponentin interfaceorg.picocontainer.PicoContainer
-
getComponents
- Specified by:
getComponentsin interfaceorg.picocontainer.PicoContainer
-
getParent
public org.picocontainer.PicoContainer getParent()- Specified by:
getParentin interfaceorg.picocontainer.PicoContainer
-
getComponentAdapter
- Specified by:
getComponentAdapterin interfaceorg.picocontainer.PicoContainer
-
getComponentAdapter
public <T> org.picocontainer.ComponentAdapter<T> getComponentAdapter(Class<T> componentType, org.picocontainer.NameBinding componentNameBinding) - Specified by:
getComponentAdapterin interfaceorg.picocontainer.PicoContainer
-
getComponentAdapter
public <T> org.picocontainer.ComponentAdapter<T> getComponentAdapter(Class<T> componentType, Class<? extends Annotation> binding) - Specified by:
getComponentAdapterin interfaceorg.picocontainer.PicoContainer
-
getComponentAdapters
- Specified by:
getComponentAdaptersin interfaceorg.picocontainer.PicoContainer
-
getComponentAdapters
- Specified by:
getComponentAdaptersin interfaceorg.picocontainer.PicoContainer
-
getComponentAdapters
public <T> List<org.picocontainer.ComponentAdapter<T>> getComponentAdapters(Class<T> componentType, Class<? extends Annotation> binding) - Specified by:
getComponentAdaptersin interfaceorg.picocontainer.PicoContainer
-
getComponents
- Specified by:
getComponentsin interfaceorg.picocontainer.PicoContainer
-
accept
public void accept(org.picocontainer.PicoVisitor visitor) - Specified by:
acceptin interfaceorg.picocontainer.PicoContainer
-
start
public void start()- Specified by:
startin interfaceorg.picocontainer.Startable
-
stop
public void stop()- Specified by:
stopin interfaceorg.picocontainer.Startable
-
dispose
public void dispose()- Specified by:
disposein interfaceorg.picocontainer.Disposable
-