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 @Override
38 public void filterVersions(VersionFilterContext context) {
39 Iterator<Version> it = context.iterator();
40 for (boolean hasNext = it.hasNext(); hasNext; ) {
41 it.next();
42 hasNext = it.hasNext();
43 if (hasNext) {
44 it.remove();
45 }
46 }
47 }
48
49 @Override
50 public VersionFilter deriveChildFilter(DependencyCollectionContext context) {
51 return this;
52 }
53
54 @Override
55 public boolean equals(Object obj) {
56 if (this == obj) {
57 return true;
58 } else if (null == obj || !getClass().equals(obj.getClass())) {
59 return false;
60 }
61 return true;
62 }
63
64 @Override
65 public int hashCode() {
66 return getClass().hashCode();
67 }
68 }