public class DefaultComponentRegistry extends java.lang.Object implements ComponentRegistry
| Modifier and Type | Class and Description |
|---|---|
private static class |
DefaultComponentRegistry.Key |
| Modifier and Type | Field and 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 and Description |
|---|
DefaultComponentRegistry(MutablePlexusContainer container,
ComponentRepository repository,
LifecycleHandlerManager lifecycleHandlerManager) |
| Modifier and Type | Method and 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) |
private static final java.lang.String DEFAULT_INSTANTIATION_STRATEGY
private final MutablePlexusContainer container
private final ComponentRepository repository
private final LifecycleHandlerManager lifecycleHandlerManager
private final Logger logger
private boolean disposingComponents
private final java.util.Map<java.lang.String,ComponentManagerFactory> componentManagerFactories
private final java.util.Map<DefaultComponentRegistry.Key,ComponentManager<?>> componentManagers
private final java.util.Map<java.lang.Object,ComponentManager<?>> componentManagersByComponent
private final java.util.Map<DefaultComponentRegistry.Key,java.lang.Object> unmanagedComponents
public DefaultComponentRegistry(MutablePlexusContainer container, ComponentRepository repository, LifecycleHandlerManager lifecycleHandlerManager)
public void dispose()
dispose in interface ComponentRegistrypublic void registerComponentManagerFactory(ComponentManagerFactory componentManagerFactory)
registerComponentManagerFactory in interface ComponentRegistrypublic void addComponentDescriptor(ComponentDescriptor<?> componentDescriptor) throws CycleDetectedInComponentGraphException
addComponentDescriptor in interface ComponentRegistryCycleDetectedInComponentGraphExceptionpublic <T> void addComponent(T component,
java.lang.String role,
java.lang.String roleHint)
addComponent in interface ComponentRegistrypublic <T> ComponentDescriptor<T> getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
getComponentDescriptor in interface ComponentRegistry@Deprecated public ComponentDescriptor<?> getComponentDescriptor(java.lang.String role, java.lang.String roleHint, org.codehaus.plexus.classworlds.realm.ClassRealm realm)
getComponentDescriptor in interface ComponentRegistrypublic <T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
getComponentDescriptorMap in interface ComponentRegistrypublic <T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
getComponentDescriptorList in interface ComponentRegistrypublic <T> T lookup(java.lang.Class<T> type,
java.lang.String role,
java.lang.String roleHint)
throws ComponentLookupException
lookup in interface ComponentRegistryComponentLookupExceptionpublic <T> T lookup(ComponentDescriptor<T> componentDescriptor) throws ComponentLookupException
lookup in interface ComponentRegistryComponentLookupExceptionpublic <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
lookupMap in interface ComponentRegistryComponentLookupExceptionpublic <T> java.util.List<T> lookupList(java.lang.Class<T> type,
java.lang.String role,
java.util.List<java.lang.String> roleHints)
throws ComponentLookupException
lookupList in interface ComponentRegistryComponentLookupExceptionpublic void release(java.lang.Object component)
throws ComponentLifecycleException
release in interface ComponentRegistryComponentLifecycleExceptionpublic void removeComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm classRealm)
throws PlexusContainerException
removeComponentRealm in interface ComponentRegistryPlexusContainerExceptionprivate <T> T getComponent(java.lang.Class<T> type,
java.lang.String role,
java.lang.String roleHint,
ComponentDescriptor<T> descriptor)
throws ComponentLookupException
ComponentLookupExceptionprivate <T> T getUnmanagedComponent(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, ComponentDescriptor<T> descriptor) throws ComponentLookupException
ComponentLookupExceptionprivate <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 java.util.Set<org.codehaus.plexus.classworlds.realm.ClassRealm> getSearchRealms(boolean specifiedOnly)
private <T> ComponentManager<T> createComponentManager(ComponentDescriptor<T> descriptor, java.lang.String role, java.lang.String roleHint) throws ComponentLookupException
ComponentLookupException