1 package org.eclipse.aether.internal.impl.collect;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.ArrayList;
23 import java.util.Collections;
24 import java.util.Iterator;
25 import java.util.List;
26
27 import org.eclipse.aether.RepositorySystemSession;
28 import org.eclipse.aether.collection.VersionFilter;
29 import org.eclipse.aether.graph.Dependency;
30 import org.eclipse.aether.repository.ArtifactRepository;
31 import org.eclipse.aether.repository.RemoteRepository;
32 import org.eclipse.aether.resolution.VersionRangeResult;
33 import org.eclipse.aether.version.Version;
34 import org.eclipse.aether.version.VersionConstraint;
35
36
37
38
39 final class DefaultVersionFilterContext
40 implements VersionFilter.VersionFilterContext
41 {
42 private final RepositorySystemSession session;
43
44 private Dependency dependency;
45
46 VersionRangeResult result;
47
48 private List<Version> versions;
49
50 DefaultVersionFilterContext( RepositorySystemSession session )
51 {
52 this.session = session;
53 }
54
55 public void set( Dependency dependency, VersionRangeResult result )
56 {
57 this.dependency = dependency;
58 this.result = result;
59 this.versions = new ArrayList<>( result.getVersions() );
60 }
61
62 public List<Version> get()
63 {
64 return new ArrayList<>( versions );
65 }
66
67 public RepositorySystemSession getSession()
68 {
69 return session;
70 }
71
72 public Dependency getDependency()
73 {
74 return dependency;
75 }
76
77 public VersionConstraint getVersionConstraint()
78 {
79 return result.getVersionConstraint();
80 }
81
82 public int getCount()
83 {
84 return versions.size();
85 }
86
87 public ArtifactRepository getRepository( Version version )
88 {
89 return result.getRepository( version );
90 }
91
92 public List<RemoteRepository> getRepositories()
93 {
94 return Collections.unmodifiableList( result.getRequest().getRepositories() );
95 }
96
97 public Iterator<Version> iterator()
98 {
99 return versions.iterator();
100 }
101
102 @Override
103 public String toString()
104 {
105 return dependency + " " + result.getVersions();
106 }
107 }