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 classDefaultComponentRegistry.Key
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,ComponentManagerFactory>componentManagerFactoriesprivate java.util.Map<DefaultComponentRegistry.Key,ComponentManager<?>>componentManagersprivate java.util.Map<java.lang.Object,ComponentManager<?>>componentManagersByComponentprivate MutablePlexusContainercontainerprivate static java.lang.StringDEFAULT_INSTANTIATION_STRATEGYprivate booleandisposingComponentsprivate LifecycleHandlerManagerlifecycleHandlerManagerprivate Loggerloggerprivate ComponentRepositoryrepositoryprivate 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> voidaddComponent(T component, java.lang.String role, java.lang.String roleHint)voidaddComponentDescriptor(ComponentDescriptor<?> componentDescriptor)private <T> ComponentManager<T>createComponentManager(ComponentDescriptor<T> descriptor, java.lang.String role, java.lang.String roleHint)voiddispose()private <T> TgetComponent(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> TgetUnmanagedComponent(java.lang.String role, java.lang.String roleHint)<T> Tlookup(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)<T> Tlookup(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)voidregisterComponentManagerFactory(ComponentManagerFactory componentManagerFactory)voidrelease(java.lang.Object component)voidremoveComponentRealm(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:
disposein interfaceComponentRegistry
-
registerComponentManagerFactory
public void registerComponentManagerFactory(ComponentManagerFactory componentManagerFactory)
- Specified by:
registerComponentManagerFactoryin interfaceComponentRegistry
-
addComponentDescriptor
public void addComponentDescriptor(ComponentDescriptor<?> componentDescriptor) throws CycleDetectedInComponentGraphException
- Specified by:
addComponentDescriptorin interfaceComponentRegistry- Throws:
CycleDetectedInComponentGraphException
-
addComponent
public <T> void addComponent(T component, java.lang.String role, java.lang.String roleHint)- Specified by:
addComponentin interfaceComponentRegistry
-
getComponentDescriptor
public <T> ComponentDescriptor<T> getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
- Specified by:
getComponentDescriptorin interfaceComponentRegistry
-
getComponentDescriptor
@Deprecated public ComponentDescriptor<?> getComponentDescriptor(java.lang.String role, java.lang.String roleHint, org.codehaus.plexus.classworlds.realm.ClassRealm realm)
Deprecated.- Specified by:
getComponentDescriptorin interfaceComponentRegistry
-
getComponentDescriptorMap
public <T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorMapin interfaceComponentRegistry
-
getComponentDescriptorList
public <T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorListin interfaceComponentRegistry
-
lookup
public <T> T lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint) throws ComponentLookupException- Specified by:
lookupin interfaceComponentRegistry- Throws:
ComponentLookupException
-
lookup
public <T> T lookup(ComponentDescriptor<T> componentDescriptor) throws ComponentLookupException
- Specified by:
lookupin 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:
lookupMapin 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:
lookupListin interfaceComponentRegistry- Throws:
ComponentLookupException
-
release
public void release(java.lang.Object component) throws ComponentLifecycleException- Specified by:
releasein interfaceComponentRegistry- Throws:
ComponentLifecycleException
-
removeComponentRealm
public void removeComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm classRealm) throws PlexusContainerException- Specified by:
removeComponentRealmin 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
-
-