org.codehaus.plexus
public class DefaultPlexusContainer extends AbstractLogEnabled implements PlexusContainer
UNKNOWN: clarify configuration handling vis-a-vis user vs default values use classworlds whole hog, plexus' concern is applications. allow setting of a live configuraton so applications that embed plexus can use whatever configuration mechanism they like. They just have to adapt it into something plexus can understand.
| Constructor Summary | |
|---|---|
| DefaultPlexusContainer() | |
| Method Summary | |
|---|---|
| void | addComponentDescriptor(ComponentDescriptor componentDescriptor) |
| void | addContextValue(Object key, Object value) |
| void | addJarRepository(File repository) |
| void | addJarResource(File jar) |
| void | composeComponent(Object component, ComponentDescriptor componentDescriptor) |
| PlexusContainer | createChildContainer(String name, List classpathJars, Map context) |
| PlexusContainer | createChildContainer(String name, List classpathJars, Map context, List discoveryListeners) |
| Object | createComponentInstance(ComponentDescriptor componentDescriptor) |
| ComponentManager | createComponentManager(ComponentDescriptor descriptor) |
| List | discoverComponents(ClassRealm classRealm)
TODO: Enhance the ComponentRepository so that it can take entire
ComponentSetDescriptors instead of just ComponentDescriptors. |
| void | dispose() |
| protected void | disposeAllComponents() |
| PlexusContainer | getChildContainer(String name) |
| ClassWorld | getClassWorld() |
| ComponentDescriptor | getComponentDescriptor(String componentKey) |
| List | getComponentDescriptorList(String role) |
| Map | getComponentDescriptorMap(String role) |
| ClassRealm | getComponentRealm(String id) |
| ClassRealm | getContainerRealm() |
| Context | getContext() |
| ClassRealm | getCoreRealm() |
| Date | getCreationDate() |
| protected Reader | getInterpolationConfigurationReader(Reader reader) |
| Logger | getLogger() |
| LoggerManager | getLoggerManager() |
| String | getName() |
| boolean | hasChildContainer(String name) |
| boolean | hasComponent(String componentKey) |
| boolean | hasComponent(String role, String roleHint) |
| void | initialize() |
| void | initializeClassWorlds() |
| protected void | initializeConfiguration() |
| void | initializeContext() |
| void | initializeCoreComponents() |
| void | initializeLoggerManager() |
| protected void | initializeName()
Create a name for our application if one doesn't exist. |
| void | initializeResources() |
| void | initializeSystemProperties() |
| boolean | isInitialized() |
| boolean | isStarted() |
| protected void | loadComponentsOnStart() |
| Object | lookup(String componentKey) |
| Object | lookup(String role, String roleHint) |
| List | lookupList(String role) |
| Map | lookupMap(String role) |
| void | processConfigurationsDirectory()
Process any additional component configuration files that have been
specified. |
| void | processCoreComponentConfiguration(String role, BasicComponentConfigurator configurator, PlexusConfiguration c) |
| void | registerComponentDiscoveryListener(ComponentDiscoveryListener listener) |
| void | registerComponentDiscoveryListeners() |
| void | release(Object component) |
| void | releaseAll(Map components) |
| void | releaseAll(List components) |
| void | removeChildContainer(String name) |
| void | removeComponentDiscoveryListener(ComponentDiscoveryListener listener) |
| void | resume(Object component) |
| void | setClassWorld(ClassWorld classWorld) |
| void | setConfigurationResource(Reader configuration) |
| void | setCoreRealm(ClassRealm coreRealm) |
| void | setLoggerManager(LoggerManager loggerManager) |
| void | setName(String name) |
| void | setParentPlexusContainer(PlexusContainer parentContainer) |
| void | start() |
| void | suspend(Object component) |
Deprecated: Use getContainerRealm() instead.
UNKNOWN: Change this to include components looked up from parents as well...
UNKNOWN: Change this to include components looked up from parents as well...
See Also: setConfigurationResource
UNKNOWN: don't hold this reference - the reader will remain open forever