D:\NewZebra\JavaApplications\DesignPatternsProject\src\structural_patterns\composite_tree\StringArrayTreeServices.java |
1
2
3
4
5
6 package structural_patterns.composite_tree;
7
8
9
10 @author
11
12
13
14 import java.io.*;
15 import java.text.*;
16 import java.util.*;
17
18 public class StringArrayTreeServices extends CompositeNodeServices{
19
20
21 String [] nodesNameList = {
22 "Level_1_A",
23 "Level_1_B/Level_2_B/Level_3_B",
24 "Level_1_C/Level_2_C",
25 "Level_1_D",
26 "Level_1_E",
27 "Level_1_F/Level_2_F/Level_3_F/Level_4_F",
28 "Level_1_G",
29 "Level_1_H/Level_2_H/Level_3_H"
30 };
31
32
33 public StringArrayTreeServices() {
34 }
35
36
37
38 public CompositeNode PollingTree(){
39
40 pollRootNode();
41
42 for(int index = 0; index < nodesNameList.length; index++)
43 {
44 String nodeName = nodesNameList[index];
45
46 if(nodeName.indexOf("/") >= 0) {
47 String childName = "";
48 String currentParentNodeName = "";
49
50 StringTokenizer stringTokenizerHandle = new StringTokenizer(nodeName, "/", false);
51
52 currentParentNodeName = stringTokenizerHandle.nextToken();
53 CompositeNode currentParentNode = addNode(CompositeNodeBase.ROOT,
54 currentParentNodeName,
55 false,
56 CompositeNodeBase.DEFAULT_NODE_ID);
57 CompositeNode tempParent = currentParentNode;
58 while(stringTokenizerHandle.hasMoreTokens()) {
59 childName = stringTokenizerHandle.nextToken();
60 CompositeNode currentChildtNode = addNode(tempParent,
61 childName,
62 false,
63 CompositeNodeBase.DEFAULT_NODE_ID);
64 tempParent = currentChildtNode;
65 }
66 }
67 else {
68 CompositeNode aNode = addNode(CompositeNodeBase.ROOT,
69 nodeName,
70 false,
71 CompositeNodeBase.DEFAULT_NODE_ID);
72 }
73 }
74
75 CompositeNode startCompositeNode = CompositeNodeBase.ROOT;
76
77 return(CompositeNodeBase.ROOT);
78 }
79
80
81
82 public static void main (String[] args)
83 {
84 StringArrayTreeServices stringArrayTreeServicesHandle = new StringArrayTreeServices();
85 CompositeNode startCompositeNode = stringArrayTreeServicesHandle.PollingTree();
86 CompositeNode seacrhNode = stringArrayTreeServicesHandle.search4Node("Level_2_F", startCompositeNode);
87 int value = stringArrayTreeServicesHandle.deleteNode(seacrhNode);
88 int x = 0;
89
90 }
91
92 }
93
94