1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package net.sf.jdiskcatalog.analysis;
24
25 import java.io.File;
26 import java.io.IOException;
27 import java.util.Date;
28 import java.util.HashMap;
29 import java.util.Map;
30
31 import net.sf.jdiskcatalog.api.FileAnalyser;
32 import net.sf.jdiskcatalog.api.NodeInfo;
33
34
35
36
37
38
39
40
41 public class BasicFileAnalyser implements FileAnalyser
42 {
43 public static final String KEY_PERMISSIONS = "permissions";
44 public static final String KEY_FILESIZE = "fileSize";
45 public static final String KEY_LASTMODIFIED = "lastModified";
46
47 public Map<String, Object> analyse(File file, NodeInfo nodeInfo) throws IOException
48 {
49 Map<String, Object> properties = new HashMap<String, Object>();
50
51 String permissions = (file.canRead() ? "r" : "") +(file.canWrite() ? "w" : "") + (file.canExecute() ? "x" : "");
52 properties.put(KEY_PERMISSIONS, permissions);
53
54 if (file.isFile())
55 properties.put(KEY_FILESIZE, file.length());
56
57 properties.put(KEY_LASTMODIFIED, new Date(file.lastModified()));
58
59 return properties;
60 }
61 }