1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.util.graph.selector;
20
21 import org.eclipse.aether.collection.DependencyCollectionContext;
22 import org.eclipse.aether.collection.DependencySelector;
23 import org.eclipse.aether.graph.Dependency;
24
25 import static java.util.Objects.requireNonNull;
26
27
28
29
30 public final class StaticDependencySelector implements DependencySelector {
31
32 private final boolean select;
33
34
35
36
37
38
39 public StaticDependencySelector(boolean select) {
40 this.select = select;
41 }
42
43 public boolean selectDependency(Dependency dependency) {
44 requireNonNull(dependency, "dependency cannot be null");
45 return select;
46 }
47
48 public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
49 requireNonNull(context, "context cannot be null");
50 return this;
51 }
52
53 @Override
54 public boolean equals(Object obj) {
55 if (this == obj) {
56 return true;
57 } else if (null == obj || !getClass().equals(obj.getClass())) {
58 return false;
59 }
60
61 StaticDependencySelector that = (StaticDependencySelector) obj;
62 return select == that.select;
63 }
64
65 @Override
66 public int hashCode() {
67 int hash = getClass().hashCode();
68 hash = hash * 31 + (select ? 1 : 0);
69 return hash;
70 }
71
72 @Override
73 public String toString() {
74 return String.format("%s(%s)", this.getClass().getSimpleName(), this.select ? "Select all" : "Exclude all");
75 }
76 }