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 java.util.Collection;
22 import java.util.List;
23 import java.util.Objects;
24 import java.util.function.Function;
25 import java.util.stream.Collectors;
26
27 class Utils {
28 static <T> T nonNull(T t) {
29 if (t == null) {
30 throw new IllegalArgumentException();
31 }
32 return t;
33 }
34
35 static <T> T nonNull(T t, String name) {
36 if (t == null) {
37 throw new IllegalArgumentException(name + " cannot be null");
38 }
39 return t;
40 }
41
42 static <T> T cast(Class<T> clazz, Object o, String name) {
43 if (!clazz.isInstance(o)) {
44 if (o == null) {
45 throw new IllegalArgumentException(name + " is null");
46 }
47 throw new IllegalArgumentException(name + " is not an instance of " + clazz.getName());
48 }
49 return clazz.cast(o);
50 }
51
52 static <U, V> List<V> map(Collection<U> list, Function<U, V> mapper) {
53 return list.stream().map(mapper).filter(Objects::nonNull).collect(Collectors.toList());
54 }
55 }