package org.codehaus.plexus.component.manager; import org.codehaus.plexus.MutablePlexusContainer; import org.codehaus.plexus.component.repository.ComponentDescriptor; import org.codehaus.plexus.lifecycle.LifecycleHandler; public interface ComponentManagerFactory { /** * Gets the unique identifier of this ComponentManagerFactory. This id is the instantiation strategy specified * in a component descriptor. * @return the unique identifier and instantiation strategy name */ String getId(); /** * Creates a new component manager for the specified component descriptor. */ <T> ComponentManager<T> createComponentManager( MutablePlexusContainer container, LifecycleHandler lifecycleHandler, ComponentDescriptor<T> componentDescriptor ); }