Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / dynform / src / org / gvsig / tools / dynform / impl / dynformfield / file / JDynFormFieldFileFactory.java @ 841

History | View | Annotate | Download (1.84 KB)

1
package org.gvsig.tools.dynform.impl.dynformfield.file;
2

    
3
import org.gvsig.tools.ToolsLocator;
4
import org.gvsig.tools.dataTypes.DataTypes;
5
import org.gvsig.tools.dynform.api.DynFormLocator;
6
import org.gvsig.tools.dynform.api.DynFormManager;
7
import org.gvsig.tools.dynform.api.JDynFormFieldFactory;
8
import org.gvsig.tools.dynobject.DynField;
9
import org.gvsig.tools.dynobject.DynObject;
10
import org.gvsig.tools.dynobject.DynObjectManager;
11
import org.gvsig.tools.dynobject.DynStruct;
12
import org.gvsig.tools.service.Service;
13
import org.gvsig.tools.service.ServiceException;
14
import org.gvsig.tools.service.spi.ServiceManager;
15

    
16
public class JDynFormFieldFileFactory implements JDynFormFieldFactory {
17

    
18
        private String name = null;
19
        private DynStruct parametersDefinition = null;
20
        
21
        public String getName() {
22
                if( name == null ) {
23
                        DynFormManager manager = DynFormLocator.getDynFormManager();
24
                        this.name = manager.makeServiceName(DataTypes.FILE, null);
25
                }
26
                return this.name;
27
        }
28

    
29

    
30
        public Service create(DynObject parameters, ServiceManager serviceManager)
31
                        throws ServiceException {
32
                return new JDynFormFieldFile(parameters, serviceManager);
33
        }
34

    
35
        public DynObject createParameters() {
36
                return ToolsLocator.getDynObjectManager().createDynObject(parametersDefinition);
37
        }
38

    
39
        public void initialize() {
40
                if( this.parametersDefinition == null ) {
41
                        String serviceName = this.getName();
42
                    DynObjectManager manager = ToolsLocator.getDynObjectManager();
43
                    this.parametersDefinition = manager.createDynClass(
44
                                    serviceName, "Parameters definition for file fields in dynamic forms");
45
                    this.parametersDefinition.addDynFieldObject(DynFormManager.FIELD_FIELDDEFINITION)
46
                                .setClassOfValue(DynField.class).setMandatory(true);
47
                    this.parametersDefinition.addDynFieldObject(DynFormManager.FIELD_VALUE)
48
                                .setClassOfValue(DynField.class).setMandatory(true);
49
                }
50
        }
51

    
52

    
53
}