1 package org.codehaus.plexus.component.manager;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import org.codehaus.plexus.MutablePlexusContainer;
20 import org.codehaus.plexus.component.factory.ComponentInstantiationException;
21 import org.codehaus.plexus.component.repository.ComponentDescriptor;
22 import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
23 import org.codehaus.plexus.lifecycle.LifecycleHandler;
24
25
26
27
28
29
30
31 public class PerLookupComponentManager<T> extends AbstractComponentManager<T> {
32 public PerLookupComponentManager(
33 MutablePlexusContainer container,
34 LifecycleHandler lifecycleHandler,
35 ComponentDescriptor<T> componentDescriptor,
36 String role,
37 String roleHint) {
38 super(container, lifecycleHandler, componentDescriptor, role, roleHint);
39 }
40
41 public void dispose() {}
42
43 public T getComponent() throws ComponentInstantiationException, ComponentLifecycleException {
44 T component = createComponentInstance();
45
46 return component;
47 }
48
49 public void release(Object component) throws ComponentLifecycleException {
50 decrementConnectionCount();
51 endComponentLifecycle(component);
52
53 componentContextRealms.remove(component);
54 }
55 }