Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libFMap_dalfile / src / org / gvsig / fmap / dal / resource / file / FileResourceParameters.java @ 25789

History | View | Annotate | Download (1.77 KB)

1
package org.gvsig.fmap.dal.resource.file;
2

    
3
import org.gvsig.fmap.dal.DataTypes;
4
import org.gvsig.fmap.dal.resource.spi.AbstractResourceParameters;
5
import org.gvsig.tools.ToolsLocator;
6
import org.gvsig.tools.dynobject.DelegatedDynObject;
7
import org.gvsig.tools.dynobject.DynClass;
8
import org.gvsig.tools.dynobject.DynField;
9
import org.gvsig.tools.dynobject.DynObjectManager;
10

    
11
public class FileResourceParameters extends AbstractResourceParameters {
12

    
13
    public static final String DYNCLASS_NAME = "FileResourceParameters";
14

    
15
    private static final String FIELD_FILE_NAME = "fileName";
16

    
17
    public FileResourceParameters() {
18
                this.delegatedDynObjet = (DelegatedDynObject) ToolsLocator
19
                                .getDynObjectManager()
20
                                .createDynObject(registerDynClass());
21
        }
22

    
23
        public FileResourceParameters(Object[] params) {
24
                this();
25
                // XXX puede que sobre
26
        setDynValue(FIELD_FILE_NAME, params[0]);
27
        }
28

    
29
        public FileResourceParameters(String name) {
30
                this();
31
                setDynValue(FIELD_FILE_NAME, name);
32
        }
33

    
34
        public String getFileName() {
35
                return (String) this.getDynValue(FIELD_FILE_NAME);
36
        }
37

    
38
        public FileResourceParameters setFileName(String fileName) {
39
                this.setDynValue(FIELD_FILE_NAME, fileName);
40
                return this;
41
        }
42

    
43
        public String getTypeName() {
44
                return FileResource.NAME;
45
        }
46

    
47
    private DynClass registerDynClass() {
48
        DynObjectManager dynman = ToolsLocator.getDynObjectManager();
49
        DynClass dynClass = dynman.get(DYNCLASS_NAME);
50
        DynField field;
51
        if (dynClass == null) {
52
            dynClass = dynman.add(DYNCLASS_NAME);
53

    
54
            field = dynClass.addDynField(FIELD_FILE_NAME);
55
            field.setTheTypeOfAvailableValues(DynField.SINGLE);
56
            field.setDescription("The name of the file");
57
            field.setType(DataTypes.STRING);
58
        }
59
        return dynClass;
60
    }
61
}