public class

CachingMutablePicoContainer

extends Object
implements MutablePicoContainer
java.lang.Object
   ↳ com.atlassian.jira.component.CachingMutablePicoContainer

Class Overview

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

Summary

Public Constructors
CachingMutablePicoContainer(MutablePicoContainer delegatePicoContainer)
Public Methods
void accept(PicoVisitor visitor)
MutablePicoContainer addAdapter(ComponentAdapter<?> componentAdapter)
MutablePicoContainer addChildContainer(PicoContainer child)
MutablePicoContainer addComponent(Object componentKey, Object componentImplementationOrInstance, Parameter... parameters)
MutablePicoContainer addComponent(Object implOrInstance)
MutablePicoContainer addConfig(String name, Object val)
MutablePicoContainer as(Properties... properties)
MutablePicoContainer change(Properties... properties)
void dispose()
<T> T getComponent(Class<T> componentType)
Object getComponent(Object componentKeyOrType)
<T> T getComponent(Class<T> componentType, Class<? extends Annotation> binding)
Object getComponent(Object componentKeyOrType, Type into)
<T> ComponentAdapter<T> getComponentAdapter(Class<T> componentType, NameBinding componentNameBinding)
<T> ComponentAdapter<T> getComponentAdapter(Class<T> componentType, Class<? extends Annotation> binding)
ComponentAdapter<?> getComponentAdapter(Object componentKey)
Collection<ComponentAdapter<?>> getComponentAdapters()
<T> List<ComponentAdapter<T>> getComponentAdapters(Class<T> componentType, Class<? extends Annotation> binding)
<T> List<ComponentAdapter<T>> getComponentAdapters(Class<T> componentType)
<T> List<T> getComponents(Class<T> componentType)
List<Object> getComponents()
LifecycleState getLifecycleState()
String getName()
PicoContainer getParent()
MutablePicoContainer makeChildContainer()
boolean removeChildContainer(PicoContainer child)
<T> ComponentAdapter<T> removeComponent(Object componentKey)
<T> ComponentAdapter<T> removeComponentByInstance(T componentInstance)
void setLifecycleState(LifecycleState lifecycleState)
void setName(String name)
void start()
void stop()
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.picocontainer.Disposable
From interface org.picocontainer.MutablePicoContainer
From interface org.picocontainer.PicoContainer
From interface org.picocontainer.Startable

Public Constructors

public CachingMutablePicoContainer (MutablePicoContainer delegatePicoContainer)

Public Methods

public void accept (PicoVisitor visitor)

public MutablePicoContainer addAdapter (ComponentAdapter<?> componentAdapter)

public MutablePicoContainer addChildContainer (PicoContainer child)

public MutablePicoContainer addComponent (Object componentKey, Object componentImplementationOrInstance, Parameter... parameters)

public MutablePicoContainer addComponent (Object implOrInstance)

public MutablePicoContainer addConfig (String name, Object val)

public MutablePicoContainer as (Properties... properties)

public MutablePicoContainer change (Properties... properties)

public void dispose ()

public T getComponent (Class<T> componentType)

public Object getComponent (Object componentKeyOrType)

public T getComponent (Class<T> componentType, Class<? extends Annotation> binding)

public Object getComponent (Object componentKeyOrType, Type into)

public ComponentAdapter<T> getComponentAdapter (Class<T> componentType, NameBinding componentNameBinding)

public ComponentAdapter<T> getComponentAdapter (Class<T> componentType, Class<? extends Annotation> binding)

public ComponentAdapter<?> getComponentAdapter (Object componentKey)

public Collection<ComponentAdapter<?>> getComponentAdapters ()

public List<ComponentAdapter<T>> getComponentAdapters (Class<T> componentType, Class<? extends Annotation> binding)

public List<ComponentAdapter<T>> getComponentAdapters (Class<T> componentType)

public List<T> getComponents (Class<T> componentType)

public List<Object> getComponents ()

public LifecycleState getLifecycleState ()

public String getName ()

public PicoContainer getParent ()

public MutablePicoContainer makeChildContainer ()

public boolean removeChildContainer (PicoContainer child)

public ComponentAdapter<T> removeComponent (Object componentKey)

public ComponentAdapter<T> removeComponentByInstance (T componentInstance)

public void setLifecycleState (LifecycleState lifecycleState)

public void setName (String name)

public void start ()

public void stop ()