1 package org.eclipse.aether.internal.impl.collect.bf;
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.RequestTrace;
25 import org.eclipse.aether.collection.DependencyManager;
26 import org.eclipse.aether.collection.DependencySelector;
27 import org.eclipse.aether.collection.DependencyTraverser;
28 import org.eclipse.aether.collection.VersionFilter;
29 import org.eclipse.aether.graph.Dependency;
30 import org.eclipse.aether.graph.DependencyNode;
31 import org.eclipse.aether.internal.impl.collect.PremanagedDependency;
32 import org.eclipse.aether.repository.RemoteRepository;
33
34
35
36
37
38
39 final class DependencyProcessingContext
40 {
41 final DependencySelector depSelector;
42 final DependencyManager depManager;
43 final DependencyTraverser depTraverser;
44 final VersionFilter verFilter;
45 final List<RemoteRepository> repositories;
46 final List<Dependency> managedDependencies;
47
48
49
50
51 final List<DependencyNode> parents;
52 final PremanagedDependency premanagedDependency;
53 final RequestTrace trace;
54 Dependency dependency;
55
56 @SuppressWarnings( "checkstyle:parameternumber" )
57 DependencyProcessingContext( DependencySelector depSelector,
58 DependencyManager depManager,
59 DependencyTraverser depTraverser,
60 VersionFilter verFilter,
61 RequestTrace trace,
62 List<RemoteRepository> repositories,
63 List<Dependency> managedDependencies,
64 List<DependencyNode> parents,
65 Dependency dependency,
66 PremanagedDependency premanagedDependency )
67 {
68 this.depSelector = depSelector;
69 this.depManager = depManager;
70 this.depTraverser = depTraverser;
71 this.verFilter = verFilter;
72 this.trace = trace;
73 this.repositories = repositories;
74 this.dependency = dependency;
75 this.premanagedDependency = premanagedDependency;
76 this.managedDependencies = managedDependencies;
77 this.parents = parents;
78 }
79
80 DependencyProcessingContext withDependency( Dependency dependency )
81 {
82 this.dependency = dependency;
83 return this;
84 }
85
86 DependencyProcessingContext copy()
87 {
88 return new DependencyProcessingContext( depSelector, depManager, depTraverser,
89 verFilter, trace, repositories, managedDependencies, parents, dependency,
90 premanagedDependency );
91 }
92
93 DependencyNode getParent()
94 {
95 return parents.get( parents.size() - 1 );
96 }
97 }