Package org.codehaus.plexus
Class DefaultComponentRegistry
- java.lang.Object
-
- org.codehaus.plexus.DefaultComponentRegistry
-
- All Implemented Interfaces:
ComponentRegistry
public class DefaultComponentRegistry extends java.lang.Object implements ComponentRegistry
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
DefaultComponentRegistry.Key
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,ComponentManagerFactory>
componentManagerFactories
private java.util.Map<DefaultComponentRegistry.Key,ComponentManager<?>>
componentManagers
private java.util.Map<java.lang.Object,ComponentManager<?>>
componentManagersByComponent
private MutablePlexusContainer
container
private static java.lang.String
DEFAULT_INSTANTIATION_STRATEGY
private boolean
disposingComponents
private LifecycleHandlerManager
lifecycleHandlerManager
private Logger
logger
private ComponentRepository
repository
private java.util.Map<DefaultComponentRegistry.Key,java.lang.Object>
unmanagedComponents
-
Constructor Summary
Constructors Constructor Description DefaultComponentRegistry(MutablePlexusContainer container, ComponentRepository repository, LifecycleHandlerManager lifecycleHandlerManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <T> void
addComponent(T component, java.lang.String role, java.lang.String roleHint)
void
addComponentDescriptor(ComponentDescriptor<?> componentDescriptor)
private <T> ComponentManager<T>
createComponentManager(ComponentDescriptor<T> descriptor, java.lang.String role, java.lang.String roleHint)
void
dispose()
private <T> T
getComponent(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint, ComponentDescriptor<T> descriptor)
<T> ComponentDescriptor<T>
getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
ComponentDescriptor<?>
getComponentDescriptor(java.lang.String role, java.lang.String roleHint, org.codehaus.plexus.classworlds.realm.ClassRealm realm)
Deprecated.<T> java.util.List<ComponentDescriptor<T>>
getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
<T> java.util.Map<java.lang.String,ComponentDescriptor<T>>
getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
private <T> ComponentManager<T>
getComponentManager(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
private <T> ComponentManager<T>
getComponentManager(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint, org.codehaus.plexus.classworlds.realm.ClassRealm realm)
private <T> ComponentManager<T>
getComponentManager(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint, ComponentDescriptor<T> descriptor)
private java.util.Set<org.codehaus.plexus.classworlds.realm.ClassRealm>
getSearchRealms(boolean specifiedOnly)
private <T> T
getUnmanagedComponent(java.lang.String role, java.lang.String roleHint)
<T> T
lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
<T> T
lookup(ComponentDescriptor<T> componentDescriptor)
<T> java.util.List<T>
lookupList(java.lang.Class<T> type, java.lang.String role, java.util.List<java.lang.String> roleHints)
<T> java.util.Map<java.lang.String,T>
lookupMap(java.lang.Class<T> type, java.lang.String role, java.util.List<java.lang.String> roleHints)
void
registerComponentManagerFactory(ComponentManagerFactory componentManagerFactory)
void
release(java.lang.Object component)
void
removeComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm classRealm)
-
-
-
Field Detail
-
DEFAULT_INSTANTIATION_STRATEGY
private static final java.lang.String DEFAULT_INSTANTIATION_STRATEGY
- See Also:
- Constant Field Values
-
container
private final MutablePlexusContainer container
-
repository
private final ComponentRepository repository
-
lifecycleHandlerManager
private final LifecycleHandlerManager lifecycleHandlerManager
-
logger
private final Logger logger
-
disposingComponents
private boolean disposingComponents
-
componentManagerFactories
private final java.util.Map<java.lang.String,ComponentManagerFactory> componentManagerFactories
-
componentManagers
private final java.util.Map<DefaultComponentRegistry.Key,ComponentManager<?>> componentManagers
-
componentManagersByComponent
private final java.util.Map<java.lang.Object,ComponentManager<?>> componentManagersByComponent
-
unmanagedComponents
private final java.util.Map<DefaultComponentRegistry.Key,java.lang.Object> unmanagedComponents
-
-
Constructor Detail
-
DefaultComponentRegistry
public DefaultComponentRegistry(MutablePlexusContainer container, ComponentRepository repository, LifecycleHandlerManager lifecycleHandlerManager)
-
-
Method Detail
-
dispose
public void dispose()
- Specified by:
dispose
in interfaceComponentRegistry
-
registerComponentManagerFactory
public void registerComponentManagerFactory(ComponentManagerFactory componentManagerFactory)
- Specified by:
registerComponentManagerFactory
in interfaceComponentRegistry
-
addComponentDescriptor
public void addComponentDescriptor(ComponentDescriptor<?> componentDescriptor) throws CycleDetectedInComponentGraphException
- Specified by:
addComponentDescriptor
in interfaceComponentRegistry
- Throws:
CycleDetectedInComponentGraphException
-
addComponent
public <T> void addComponent(T component, java.lang.String role, java.lang.String roleHint)
- Specified by:
addComponent
in interfaceComponentRegistry
-
getComponentDescriptor
public <T> ComponentDescriptor<T> getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
- Specified by:
getComponentDescriptor
in interfaceComponentRegistry
-
getComponentDescriptor
@Deprecated public ComponentDescriptor<?> getComponentDescriptor(java.lang.String role, java.lang.String roleHint, org.codehaus.plexus.classworlds.realm.ClassRealm realm)
Deprecated.- Specified by:
getComponentDescriptor
in interfaceComponentRegistry
-
getComponentDescriptorMap
public <T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorMap
in interfaceComponentRegistry
-
getComponentDescriptorList
public <T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorList
in interfaceComponentRegistry
-
lookup
public <T> T lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint) throws ComponentLookupException
- Specified by:
lookup
in interfaceComponentRegistry
- Throws:
ComponentLookupException
-
lookup
public <T> T lookup(ComponentDescriptor<T> componentDescriptor) throws ComponentLookupException
- Specified by:
lookup
in interfaceComponentRegistry
- Throws:
ComponentLookupException
-
lookupMap
public <T> java.util.Map<java.lang.String,T> lookupMap(java.lang.Class<T> type, java.lang.String role, java.util.List<java.lang.String> roleHints) throws ComponentLookupException
- Specified by:
lookupMap
in interfaceComponentRegistry
- Throws:
ComponentLookupException
-
lookupList
public <T> java.util.List<T> lookupList(java.lang.Class<T> type, java.lang.String role, java.util.List<java.lang.String> roleHints) throws ComponentLookupException
- Specified by:
lookupList
in interfaceComponentRegistry
- Throws:
ComponentLookupException
-
release
public void release(java.lang.Object component) throws ComponentLifecycleException
- Specified by:
release
in interfaceComponentRegistry
- Throws:
ComponentLifecycleException
-
removeComponentRealm
public void removeComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm classRealm) throws PlexusContainerException
- Specified by:
removeComponentRealm
in interfaceComponentRegistry
- Throws:
PlexusContainerException
-
getComponent
private <T> T getComponent(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint, ComponentDescriptor<T> descriptor) throws ComponentLookupException
- Throws:
ComponentLookupException
-
getUnmanagedComponent
private <T> T getUnmanagedComponent(java.lang.String role, java.lang.String roleHint)
-
getComponentManager
private <T> ComponentManager<T> getComponentManager(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint, ComponentDescriptor<T> descriptor) throws ComponentLookupException
- Throws:
ComponentLookupException
-
getComponentManager
private <T> ComponentManager<T> getComponentManager(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
-
getComponentManager
private <T> ComponentManager<T> getComponentManager(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint, org.codehaus.plexus.classworlds.realm.ClassRealm realm)
-
getSearchRealms
private java.util.Set<org.codehaus.plexus.classworlds.realm.ClassRealm> getSearchRealms(boolean specifiedOnly)
-
createComponentManager
private <T> ComponentManager<T> createComponentManager(ComponentDescriptor<T> descriptor, java.lang.String role, java.lang.String roleHint) throws ComponentLookupException
- Throws:
ComponentLookupException
-
-