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.List;
23
24 import org.eclipse.aether.RepositorySystemSession;
25 import org.eclipse.aether.RequestTrace;
26 import org.eclipse.aether.artifact.Artifact;
27 import org.eclipse.aether.collection.CollectResult;
28 import org.eclipse.aether.collection.DependencyCollectionContext;
29 import org.eclipse.aether.collection.DependencyManager;
30 import org.eclipse.aether.collection.DependencySelector;
31 import org.eclipse.aether.collection.DependencyTraverser;
32 import org.eclipse.aether.collection.VersionFilter;
33 import org.eclipse.aether.graph.Dependency;
34 import org.eclipse.aether.repository.RemoteRepository;
35 import org.eclipse.aether.version.Version;
36
37
38
39
40 class DefaultDependencyCollectionContext
41 implements DependencyCollectionContext
42 {
43
44 private final RepositorySystemSession session;
45
46 private Artifact artifact;
47
48 private Dependency dependency;
49
50 private List<Dependency> managedDependencies;
51 private CollectResult collectResult;
52
53 private RequestTrace trace;
54
55 private Args args;
56
57 private Results results;
58
59 private List<Dependency> dependencies;
60
61 private List<RemoteRepository> repositories;
62
63 private DependencySelector depSelector;
64
65 private DependencyManager depManager;
66
67 private DependencyTraverser depTraverser;
68
69 private VersionFilter verFilter;
70
71 private Version version;
72
73
74 DefaultDependencyCollectionContext( RepositorySystemSession session, Artifact artifact,
75 Dependency dependency, List<Dependency> managedDependencies )
76 {
77 this.session = session;
78 this.artifact = ( dependency != null ) ? dependency.getArtifact() : artifact;
79 this.dependency = dependency;
80 this.managedDependencies = managedDependencies;
81 }
82
83 public void prepareDescent()
84 {
85 DependencySelector dependencySelector = session.getDependencySelector();
86 DependencyManager dependencyManager = session.getDependencyManager();
87 VersionFilter versionFilter = session.getVersionFilter();
88 setDepSelector( dependencySelector != null ? dependencySelector.deriveChildSelector( this ) : null );
89 setDepManager( dependencyManager != null ? dependencyManager.deriveChildManager( this ) : null );
90 setDepTraverser( depTraverser != null ? depTraverser.deriveChildTraverser( this ) : null );
91 setVerFilter( versionFilter != null ? versionFilter.deriveChildFilter( this ) : null );
92
93 }
94
95 public DefaultDependencyCollectionContext createChildContext()
96 {
97 DefaultDependencyCollectionContext childContext =
98 new DefaultDependencyCollectionContext( getSession(), getArtifact(),
99 getDependency(), getManagedDependencies() );
100 childContext.depSelector =
101 getDepSelector() != null ? getDepSelector().deriveChildSelector( this ) : null;
102 childContext.depManager =
103 getDepManager() != null ? getDepManager().deriveChildManager( this ) : null;
104 childContext.depTraverser =
105 getDepTraverser() != null ? getDepTraverser().deriveChildTraverser( this ) : null;
106 childContext.verFilter =
107 getVerFilter() != null ? getVerFilter().deriveChildFilter( this ) : null;
108 return childContext;
109 }
110
111 public RepositorySystemSession getSession()
112 {
113 return session;
114 }
115
116 public Artifact getArtifact()
117 {
118 return artifact;
119 }
120
121 public Dependency getDependency()
122 {
123 return dependency;
124 }
125
126 public List<Dependency> getManagedDependencies()
127 {
128 return managedDependencies;
129 }
130
131 public CollectResult getCollectResult()
132 {
133 return collectResult;
134 }
135
136 public void setCollectResult( CollectResult collectResult )
137 {
138 this.collectResult = collectResult;
139 }
140
141 public Args getArgs()
142 {
143 return args;
144 }
145
146 public void setArgs( Args args )
147 {
148 this.args = args;
149 }
150
151 public Results getResults()
152 {
153 return results;
154 }
155
156 public void setResults( Results results )
157 {
158 this.results = results;
159 }
160
161 public List<Dependency> getDependencies()
162 {
163 return dependencies;
164 }
165
166 public void setDependencies( List<Dependency> dependencies )
167 {
168 this.dependencies = dependencies;
169 }
170
171 public List<RemoteRepository> getRepositories()
172 {
173 return repositories;
174 }
175
176 public void setRepositories( List<RemoteRepository> repositories )
177 {
178 this.repositories = repositories;
179 }
180
181 public DependencySelector getDepSelector()
182 {
183 return depSelector;
184 }
185
186 public void setDepSelector( DependencySelector depSelector )
187 {
188 this.depSelector = depSelector;
189 }
190
191 public DependencyManager getDepManager()
192 {
193 return depManager;
194 }
195
196 public void setDepManager( DependencyManager depManager )
197 {
198 this.depManager = depManager;
199 }
200
201 public DependencyTraverser getDepTraverser()
202 {
203 return depTraverser;
204 }
205
206 public void setDepTraverser( DependencyTraverser depTraverser )
207 {
208 this.depTraverser = depTraverser;
209 }
210
211 public VersionFilter getVerFilter()
212 {
213 return verFilter;
214 }
215
216 public void setVerFilter( VersionFilter verFilter )
217 {
218 this.verFilter = verFilter;
219 }
220
221 public void setDependency( Dependency dependency )
222 {
223 artifact = dependency.getArtifact();
224 this.dependency = dependency;
225 }
226
227 public void setManagedDependencies( List<Dependency> managedDependencies )
228 {
229 this.managedDependencies = managedDependencies;
230 }
231
232 public RequestTrace getTrace()
233 {
234 return trace;
235 }
236
237 public void setTrace( RequestTrace trace )
238 {
239 this.trace = trace;
240 }
241
242 public Version getVersion()
243 {
244 return version;
245 }
246
247 public void setVersion( Version version )
248 {
249 this.version = version;
250 }
251
252 @Override
253 public String toString()
254 {
255 return String.valueOf( getDependency() );
256 }
257
258 }