151
|
1 /* Directory -- Filesystem directory object
|
149
|
2
|
|
3 Digital Image Library servlet components
|
|
4
|
|
5 Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de)
|
|
6
|
|
7 This program is free software; you can redistribute it and/or modify it
|
|
8 under the terms of the GNU General Public License as published by the
|
|
9 Free Software Foundation; either version 2 of the License, or (at your
|
|
10 option) any later version.
|
|
11
|
|
12 Please read license.txt for the full details. A copy of the GPL
|
|
13 may be found at http://www.gnu.org/copyleft/lgpl.html
|
|
14
|
|
15 You should have received a copy of the GNU General Public License
|
|
16 along with this program; if not, write to the Free Software
|
|
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
18
|
|
19 * Created on 26.08.2003
|
|
20 *
|
|
21 */
|
|
22 package digilib.io;
|
|
23
|
|
24 import java.io.File;
|
259
|
25 import java.util.Arrays;
|
|
26
|
|
27 import org.apache.log4j.Logger;
|
149
|
28
|
|
29 /** Class for filesystem directories
|
|
30 * @author casties
|
|
31 *
|
|
32 */
|
|
33 public class Directory {
|
259
|
34
|
|
35 protected Logger logger = Logger.getLogger(this.getClass());
|
|
36
|
|
37 /** File object pointing to the directory */
|
149
|
38 File dir = null;
|
259
|
39 /** parent directory */
|
151
|
40 Directory parent = null;
|
259
|
41 /** list of filenames in the directory */
|
|
42 protected String[] list = null;
|
149
|
43
|
|
44 /** Default constructor.
|
|
45 *
|
|
46 */
|
|
47 public Directory() {
|
|
48 super();
|
|
49 }
|
|
50
|
|
51 /** Constructor taking a File object.
|
|
52 *
|
|
53 * @param d
|
|
54 */
|
|
55 public Directory(File d) {
|
|
56 dir = d;
|
|
57 }
|
|
58
|
151
|
59 /** Constructor taking a File object and a parent.
|
|
60 *
|
159
|
61 * @param dir
|
|
62 * @param parent
|
151
|
63 */
|
|
64 public Directory(File dir, Directory parent) {
|
|
65 this.dir = dir;
|
|
66 this.parent = parent;
|
|
67 }
|
|
68
|
149
|
69 /** Constructor taking a directory name.
|
|
70 *
|
|
71 * @param d
|
|
72 */
|
|
73 public Directory(String dn) {
|
|
74 dir = new File(dn);
|
|
75 }
|
|
76
|
259
|
77
|
|
78 /** Reads the names of the files in the directory.
|
|
79 * Fills the filenames array. Returns if the operation was successful.
|
|
80 *
|
|
81 * @return
|
|
82 */
|
|
83 public boolean readDir() {
|
|
84 if (dir != null) {
|
266
|
85 logger.debug("start reading dir");
|
259
|
86 list = dir.list();
|
|
87 Arrays.sort(list);
|
266
|
88 logger.debug("done reading dir");
|
259
|
89 }
|
|
90 return (list != null);
|
|
91 }
|
|
92
|
149
|
93 /**
|
|
94 * @return
|
|
95 */
|
|
96 public File getDir() {
|
|
97 return dir;
|
|
98 }
|
|
99
|
|
100 /**
|
|
101 * @param dir
|
|
102 */
|
|
103 public void setDir(File dir) {
|
|
104 this.dir = dir;
|
|
105 }
|
151
|
106
|
|
107 /**
|
|
108 * @return
|
|
109 */
|
|
110 Directory getParent() {
|
|
111 return parent;
|
|
112 }
|
|
113
|
|
114 /**
|
|
115 * @param parent
|
|
116 */
|
|
117 void setParent(Directory parent) {
|
|
118 this.parent = parent;
|
|
119 }
|
|
120
|
149
|
121
|
259
|
122 /**
|
|
123 * @return Returns the filenames.
|
|
124 */
|
|
125 public String[] getFilenames() {
|
|
126 return list;
|
|
127 }
|
|
128 /**
|
|
129 * @param filenames The filenames to set.
|
|
130 */
|
|
131 public void setFilenames(String[] filenames) {
|
|
132 this.list = filenames;
|
|
133 }
|
149
|
134 }
|