1 package org.apache.maven.shared.dependency.tree;
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.Collection;
24 import java.util.Iterator;
25 import java.util.List;
26
27 /**
28 * Represents a Maven project's dependency tree.
29 *
30 * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
31 * @version $Id: DependencyTree.java 661727 2008-05-30 14:21:49Z bentmann $
32 * @deprecated As of 1.1, replaced by the dependency tree root {@link DependencyNode}
33 */
34 public class DependencyTree
35 {
36
37
38 private final DependencyNode rootNode;
39
40 private final Collection nodes;
41
42
43
44 /**
45 * Create a tree initialized to the arguments
46 *
47 * @param rootNode
48 * @param nodes
49 */
50 public DependencyTree( DependencyNode rootNode, Collection nodes )
51 {
52 this.rootNode = rootNode;
53 this.nodes = nodes;
54 }
55
56
57
58 public DependencyNode getRootNode()
59 {
60 return rootNode;
61 }
62
63 public Collection getNodes()
64 {
65 return nodes;
66 }
67
68 public List getArtifacts()
69 {
70 List artifacts = new ArrayList();
71
72 Iterator it = getNodes().iterator();
73 while ( it.hasNext() )
74 {
75 DependencyNode node = (DependencyNode) it.next();
76 artifacts.add( node.getArtifact() );
77 }
78
79 return artifacts;
80 }
81
82 public String toString()
83 {
84 return getRootNode().toString();
85 }
86
87 /**
88 * @see DependencyNode#iterator()
89 */
90 public Iterator iterator()
91 {
92 return getRootNode().iterator();
93 }
94
95 /**
96 * @see DependencyNode#preorderIterator()
97 */
98 public Iterator preorderIterator()
99 {
100 return getRootNode().preorderIterator();
101 }
102
103 /**
104 * @see DependencyNode#inverseIterator()
105 */
106 public Iterator inverseIterator()
107 {
108 return getRootNode().inverseIterator();
109 }
110 }