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.version;
20
21 import java.util.Iterator;
22
23 import org.eclipse.aether.collection.DependencyCollectionContext;
24 import org.eclipse.aether.collection.VersionFilter;
25 import org.eclipse.aether.version.Version;
26
27
28
29
30 public final class HighestVersionFilter implements VersionFilter {
31
32
33
34
35 public HighestVersionFilter() {}
36
37 public void filterVersions(VersionFilterContext context) {
38 Iterator<Version> it = context.iterator();
39 for (boolean hasNext = it.hasNext(); hasNext; ) {
40 it.next();
41 hasNext = it.hasNext();
42 if (hasNext) {
43 it.remove();
44 }
45 }
46 }
47
48 public VersionFilter deriveChildFilter(DependencyCollectionContext context) {
49 return this;
50 }
51
52 @Override
53 public boolean equals(Object obj) {
54 if (this == obj) {
55 return true;
56 } else if (null == obj || !getClass().equals(obj.getClass())) {
57 return false;
58 }
59 return true;
60 }
61
62 @Override
63 public int hashCode() {
64 return getClass().hashCode();
65 }
66 }