D:\NewZebra\JavaApplications\DesignPatternsProject\src\structural_patterns\composite_tree\FileFolderTreeServices.java |
1
2
3
4
5 package structural_patterns.composite_tree;
6
7
8
9 @author
10
11
12
13
14 import java.io.*;
15 import java.text.*;
16 import java.util.*;
17
18 public class FileFolderTreeServices extends CompositeNodeServices {
19
20
21 public FileFolderTreeServices() {
22 }
23
24
25
26 public CompositeNode PollingTree(){
27
28 pollRootNode();
29
30
31 File rootFolder = new File(CompositeNodeBase.FOLDER_PATH);
32 if(null == rootFolder)
33 return(CompositeNodeBase.ROOT);
34
35 String folderName = rootFolder.getName();
36
37 CompositeNode firstFolderNode = addNode(CompositeNodeBase.ROOT,
38 folderName,
39 false,
40 CompositeNodeBase.DEFAULT_NODE_ID);
41 if(rootFolder.isDirectory())
42 addFilesToTree(firstFolderNode, rootFolder);
43
44 CompositeNode startCompositeNode = CompositeNodeBase.ROOT;
45
46 return(CompositeNodeBase.ROOT);
47 }
48
49
50
51 public void addFilesToTree (CompositeNode parentFolderNode, File parentFolder){
52
53 String [] fileListNames = parentFolder.list();
54 int index;
55 CompositeNode childFileNode = null;
56 String path = parentFolder.getAbsoluteFile()
57 + File.separator;
58
59 for(index = 0; index < fileListNames.length; index++)
60 {
61 String fileName = fileListNames[index];
62 childFileNode = addNode(parentFolderNode,
63 fileName,
64 false,
65 CompositeNodeBase.DEFAULT_NODE_ID);
66 fileName = path + fileName;
67 File tempFile = new File( fileName);
68 if(tempFile.isDirectory())
69 addFilesToTree (childFileNode, tempFile);
70 }
71 }
72
73
74
75 public static void main (String[] args)
76 {
77 FileFolderTreeServices fileFolderTreeServices = new FileFolderTreeServices();
78 CompositeNode startCompositeNode = fileFolderTreeServices.PollingTree();
79
80 int x = 0;
81
82 }
83 }
84
85