View Javadoc
1   package org.codehaus.plexus.component.manager;
2   
3   import org.codehaus.plexus.MutablePlexusContainer;
4   import org.codehaus.plexus.component.repository.ComponentDescriptor;
5   import org.codehaus.plexus.lifecycle.LifecycleHandler;
6   
7   public interface ComponentManagerFactory {
8       /**
9        * Gets the unique identifier of this ComponentManagerFactory.  This id is the instantiation strategy specified
10       * in a component descriptor.
11       * @return the unique identifier and instantiation strategy name
12       */
13      String getId();
14  
15      /**
16       * Creates a new component manager for the specified component descriptor.
17       * @param container {@link MutablePlexusContainer}.
18       * @param lifecycleHandler {@link LifecycleHandler}.
19       * @param componentDescriptor {@link ComponentDescriptor}
20       * @param role The role.
21       * @param roleHint The hint for the role.
22       * @param <T> The type.
23       * @return {@link ComponentManager}
24       */
25      <T> ComponentManager<T> createComponentManager(
26              MutablePlexusContainer container,
27              LifecycleHandler lifecycleHandler,
28              ComponentDescriptor<T> componentDescriptor,
29              String role,
30              String roleHint);
31  }