1 package org.apache.maven.shared.dependency.graph.internal;
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.apache.maven.artifact.Artifact;
25 import org.apache.maven.model.Exclusion;
26 import org.apache.maven.shared.dependency.graph.DependencyNode;
27 import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
28
29
30
31
32 public class DefaultDependencyNode implements DependencyNode
33 {
34 private final Artifact artifact;
35
36 private final DependencyNode parent;
37
38 private final String premanagedVersion;
39
40 private final String premanagedScope;
41
42 private final String versionConstraint;
43
44 private List<DependencyNode> children;
45
46 private Boolean optional;
47
48 private List<Exclusion> exclusions;
49
50
51
52
53
54
55
56
57
58
59 public DefaultDependencyNode( DependencyNode parent, Artifact artifact, String premanagedVersion,
60 String premanagedScope, String versionConstraint )
61 {
62 this.parent = parent;
63 this.artifact = artifact;
64 this.premanagedVersion = premanagedVersion;
65 this.premanagedScope = premanagedScope;
66 this.versionConstraint = versionConstraint;
67 }
68
69 public DefaultDependencyNode( DependencyNode parent, Artifact artifact, String premanagedVersion,
70 String premanagedScope, String versionConstraint, Boolean optional,
71 List<Exclusion> exclusions )
72 {
73 this.parent = parent;
74 this.artifact = artifact;
75 this.premanagedVersion = premanagedVersion;
76 this.premanagedScope = premanagedScope;
77 this.versionConstraint = versionConstraint;
78 this.optional = optional;
79 this.exclusions = exclusions;
80 }
81
82
83 public DefaultDependencyNode( Artifact artifact )
84 {
85 this.artifact = artifact;
86 this.parent = null;
87 this.premanagedScope = null;
88 this.premanagedVersion = null;
89 this.versionConstraint = null;
90 }
91
92
93
94
95
96
97
98
99 @Override
100 public boolean accept( DependencyNodeVisitor visitor )
101 {
102 if ( visitor.visit( this ) )
103 {
104 for ( DependencyNode child : getChildren() )
105 {
106 if ( !child.accept( visitor ) )
107 {
108 break;
109 }
110 }
111 }
112
113 return visitor.endVisit( this );
114 }
115
116
117
118
119 @Override
120 public Artifact getArtifact()
121 {
122 return artifact;
123 }
124
125
126
127
128
129 public void setChildren( List<DependencyNode> children )
130 {
131 this.children = children;
132 }
133
134
135
136
137 @Override
138 public List<DependencyNode> getChildren()
139 {
140 return children;
141 }
142
143
144
145
146 @Override
147 public DependencyNode getParent()
148 {
149 return parent;
150 }
151
152 @Override
153 public String getPremanagedVersion()
154 {
155 return premanagedVersion;
156 }
157
158 @Override
159 public String getPremanagedScope()
160 {
161 return premanagedScope;
162 }
163
164 @Override
165 public String getVersionConstraint()
166 {
167 return versionConstraint;
168 }
169
170 @Override
171 public Boolean getOptional()
172 {
173 return optional;
174 }
175
176 @Override
177 public List<Exclusion> getExclusions()
178 {
179 return exclusions;
180 }
181
182
183
184
185 @Override
186 public String toNodeString()
187 {
188 return String.valueOf( artifact );
189 }
190 }