Statistics
| Revision:

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

History | View | Annotate | Download (1.93 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.dynform.impl.dynformfield.AbstractJDynFormField.IllegalFieldValue;
9
import org.gvsig.tools.dynobject.DynField;
10
import org.gvsig.tools.dynobject.DynObject;
11
import org.gvsig.tools.dynobject.DynObjectManager;
12
import org.gvsig.tools.dynobject.DynStruct;
13
import org.gvsig.tools.service.Service;
14
import org.gvsig.tools.service.ServiceException;
15
import org.gvsig.tools.service.spi.ServiceManager;
16

    
17
public class JDynFormFieldFileFactory implements JDynFormFieldFactory {
18

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

    
30

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

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

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

    
53

    
54
}