Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.lib / org.gvsig.scripting.lib.impl / src / main / java / org / gvsig / scripting / impl / SystemFolder.java @ 508

History | View | Annotate | Download (2.12 KB)

1
package org.gvsig.scripting.impl;
2

    
3
import java.io.File;
4
import java.util.ArrayList;
5
import java.util.List;
6

    
7
import org.gvsig.scripting.ScriptingFolder;
8
import org.gvsig.scripting.ScriptingManager;
9
import org.gvsig.scripting.ScriptingUnit;
10
import org.gvsig.scripting.impl.DefaultScriptingManager.RegisterSystemFolder;
11

    
12
public class SystemFolder extends DefaultScriptingFolder {
13

    
14
    public SystemFolder(ScriptingManager manager) {
15
        super((ScriptingFolder) null, manager);
16
        this.setName("System");
17
        this.setDescription("Scripts del Sistema");
18
    }
19

    
20
    @Override
21
    public String toString() {
22
        return this.description;
23
    }
24

    
25
    @Override
26
    public String[] getIconNames() {
27
        return new String[]{"computer", "computer"};
28
    }
29

    
30
    @Override
31
    public Unit getUnit(File afile) {
32
        Unit unit = null;
33
        String path = afile.getPath();
34
        if (path.startsWith("/")) {
35
            path = path.substring(1);
36
        }
37

    
38
        List<RegisterSystemFolder> folders = this.manager.getSystemFolders();
39
        for (int i = 0; i < folders.size(); i++) {
40
            RegisterSystemFolder systemfolder = folders.get(i);
41
            DefaultScriptingFolder folder = new DefaultScriptingFolder((ScriptingFolder) null, manager, systemfolder.folder.getAbsoluteFile());
42
            if (path.startsWith(folder.getId() + "/")) {
43
                unit = folder.getUnit(new File(path.substring(folder.getId().length() + 1)));
44
                if (unit != null) {
45
                    return unit;
46
                }
47
            }
48
        }
49
        return null;
50
    }
51

    
52
    @Override
53
    public List<ScriptingUnit> getUnits() {
54
        List<ScriptingUnit> ol = new ArrayList<ScriptingUnit>();
55
        List<RegisterSystemFolder> folders = this.manager.getSystemFolders();
56
        for (int i = 0; i < folders.size(); i++) {
57
            RegisterSystemFolder systemfolder = folders.get(i);
58
            DefaultScriptingFolder folder = new DefaultScriptingFolder((ScriptingFolder) null, manager, systemfolder.folder.getAbsoluteFile());
59
            folder.setName(systemfolder.name);
60
            ol.add(folder);
61
        }
62
        return ol;
63
    }
64
}