-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFileTree.java
More file actions
90 lines (82 loc) · 1.69 KB
/
FileTree.java
File metadata and controls
90 lines (82 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import java.lang.*;
import java.io.File;
import java.io.IOException;
import java.awt.Toolkit;
/**
* Classe générant l'arbre des fichiers convenu selon l'option choisie en utilisant pour cela la généricité
* @author J. Pallamidessi & S. Andreux
*/
public class FileTree
{
static int MAX_DEPTH=3;
int depth=0;
FileNode root;
/**
* Crée un arbre de fichier en fixant une option d'affichage et une profondeur de parcours
* @param path
* Chemin d'origine de l'arbre de fichiers
* @param dep
* Profondeur de parcours de l'arbre
* @param option
* Détermine l'option souhaitée (graphique, console etc)
*/
public FileTree(String path, int dep,int option)
{
if (dep>MAX_DEPTH || dep<0)
depth=MAX_DEPTH;
else
depth=dep;
// illustre le fonctionnement des classes
switch(option)
{
case 0:
root=new FileNode(path);
break;
case 1:
root=new FileSquare(path);
((FileSquare) root).setDefaultEdgeSize((int) Toolkit.getDefaultToolkit().getScreenSize().getHeight()-100);
break;
default:
{
}
}
if(root.exists()&&root.isDirectory())
{
root.buildTree(depth);
}
}
/**
* Retourne la racine de l'arbre des fichiers
* @return
* FileNode: racine de l'arbre des fichiers
*/
public FileNode getRoot()
{
return root;
}
/**
* Renvoit la profondeur de l'arbre des fichiers
* @return
* Entier profondeur de l'arbre
*/
public int getDepth()
{
return depth;
}
/**
* Fixe la profondeur maximum
* @param n
* Nouvelle profondeurs maximum
*/
public void setMaxDepth(int n)
{
MAX_DEPTH=n;
}
/**
* Affiche l'arbre depuis la racine sur la sortie standard
*/
public void print()
{
root.print();
}
}