1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven;
20
21 import java.util.List;
22 import java.util.Map;
23 import java.util.Optional;
24
25 import org.apache.maven.api.services.Lookup;
26 import org.apache.maven.api.services.LookupException;
27
28 public class SimpleLookup implements Lookup {
29 private final List<Object> objects;
30
31 public SimpleLookup(List<Object> objects) {
32 this.objects = objects;
33 }
34
35 @Override
36 public <T> T lookup(Class<T> type) {
37 return objects.stream()
38 .filter(type::isInstance)
39 .map(type::cast)
40 .findAny()
41 .orElseThrow(() -> new LookupException("No service of type " + type));
42 }
43
44 @Override
45 public <T> T lookup(Class<T> type, String name) {
46 return null;
47 }
48
49 @Override
50 public <T> Optional<T> lookupOptional(Class<T> type) {
51 return Optional.empty();
52 }
53
54 @Override
55 public <T> Optional<T> lookupOptional(Class<T> type, String name) {
56 return Optional.empty();
57 }
58
59 @Override
60 public <T> List<T> lookupList(Class<T> type) {
61 return List.of();
62 }
63
64 @Override
65 public <T> Map<String, T> lookupMap(Class<T> type) {
66 return Map.of();
67 }
68 }