1 package org.eclipse.aether.util.graph.version;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Iterator;
23
24 import org.eclipse.aether.collection.DependencyCollectionContext;
25 import org.eclipse.aether.collection.VersionFilter;
26 import org.eclipse.aether.version.Version;
27
28
29
30
31 public final class HighestVersionFilter
32 implements VersionFilter
33 {
34
35
36
37
38 public HighestVersionFilter()
39 {
40 }
41
42 public void filterVersions( VersionFilterContext context )
43 {
44 Iterator<Version> it = context.iterator();
45 for ( boolean hasNext = it.hasNext(); hasNext; )
46 {
47 it.next();
48 hasNext = it.hasNext();
49 if ( hasNext )
50 {
51 it.remove();
52 }
53 }
54 }
55
56 public VersionFilter deriveChildFilter( DependencyCollectionContext context )
57 {
58 return this;
59 }
60
61 @Override
62 public boolean equals( Object obj )
63 {
64 if ( this == obj )
65 {
66 return true;
67 }
68 else if ( null == obj || !getClass().equals( obj.getClass() ) )
69 {
70 return false;
71 }
72 return true;
73 }
74
75 @Override
76 public int hashCode()
77 {
78 return getClass().hashCode();
79 }
80
81 }