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 ComponentRegistry
public void registerComponentManagerFactory(ComponentManagerFactory componentManagerFactory)
registerComponentManagerFactory
in interface ComponentRegistry
public void addComponentDescriptor(ComponentDescriptor<?> componentDescriptor) throws CycleDetectedInComponentGraphException
addComponentDescriptor
in interface ComponentRegistry
CycleDetectedInComponentGraphException
public <T> void addComponent(T component, java.lang.String role, java.lang.String roleHint)
addComponent
in interface ComponentRegistry
public <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 ComponentRegistry
public <T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
getComponentDescriptorMap
in interface ComponentRegistry
public <T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
getComponentDescriptorList
in interface ComponentRegistry
public <T> T lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint) throws ComponentLookupException
lookup
in interface ComponentRegistry
ComponentLookupException
public <T> T lookup(ComponentDescriptor<T> componentDescriptor) throws ComponentLookupException
lookup
in interface ComponentRegistry
ComponentLookupException
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
lookupMap
in interface ComponentRegistry
ComponentLookupException
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
lookupList
in interface ComponentRegistry
ComponentLookupException
public void release(java.lang.Object component) throws ComponentLifecycleException
release
in interface ComponentRegistry
ComponentLifecycleException
public void removeComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm classRealm) throws PlexusContainerException
removeComponentRealm
in interface ComponentRegistry
PlexusContainerException
private <T> T getComponent(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint, ComponentDescriptor<T> descriptor) throws ComponentLookupException
ComponentLookupException
private <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
ComponentLookupException
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 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