1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import java.util.List;
26 import java.util.Map;
27
28 import org.apache.maven.api.services.Lookup;
29 import org.apache.maven.api.services.LookupException;
30 import org.codehaus.plexus.PlexusContainer;
31 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
32
33 @Named
34 @Singleton
35 public class DefaultLookup implements Lookup {
36
37 private final PlexusContainer container;
38
39 @Inject
40 public DefaultLookup(PlexusContainer container) {
41 this.container = container;
42 }
43
44 @Override
45 public <T> T lookup(Class<T> type) {
46 try {
47 return container.lookup(type);
48 } catch (ComponentLookupException e) {
49 throw new LookupException(e);
50 }
51 }
52
53 @Override
54 public <T> T lookup(Class<T> type, String name) {
55 try {
56 return container.lookup(type, name);
57 } catch (ComponentLookupException e) {
58 throw new LookupException(e);
59 }
60 }
61
62 @Override
63 public <T> List<T> lookupList(Class<T> type) {
64 try {
65 return container.lookupList(type);
66 } catch (ComponentLookupException e) {
67 throw new LookupException(e);
68 }
69 }
70
71 @Override
72 public <T> Map<String, T> lookupMap(Class<T> type) {
73 try {
74 return container.lookupMap(type);
75 } catch (ComponentLookupException e) {
76 throw new LookupException(e);
77 }
78 }
79 }