Revision 1881 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.dynform/org.gvsig.tools.dynform.services/src/main/java/org/gvsig/tools/dynform/services/dynformfield/URI/JDynFormFieldURIFactory.java
JDynFormFieldURIFactory.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.tools.dynform.services.dynformfield.URI; |
25 | 25 |
|
26 |
import org.gvsig.tools.ToolsLocator; |
|
27 | 26 |
import org.gvsig.tools.dataTypes.DataTypes; |
28 |
import org.gvsig.tools.dynform.spi.DynFormSPILocator; |
|
27 |
import org.gvsig.tools.dynform.DynFormFieldDefinition; |
|
28 |
import org.gvsig.tools.dynform.JDynFormField; |
|
29 | 29 |
import org.gvsig.tools.dynform.spi.DynFormSPIManager; |
30 |
import org.gvsig.tools.dynform.spi.JDynFormFieldFactory; |
|
31 |
import org.gvsig.tools.dynobject.DynField; |
|
32 |
import org.gvsig.tools.dynobject.DynObject; |
|
33 |
import org.gvsig.tools.dynobject.DynObjectManager; |
|
34 |
import org.gvsig.tools.dynobject.DynStruct; |
|
35 |
import org.gvsig.tools.service.Service; |
|
36 |
import org.gvsig.tools.service.ServiceException; |
|
37 |
import org.gvsig.tools.service.spi.ServiceManager; |
|
30 |
import org.gvsig.tools.dynform.spi.dynformfield.AbstractJDynFormFieldFactory; |
|
38 | 31 |
|
39 |
public class JDynFormFieldURIFactory implements JDynFormFieldFactory {
|
|
32 |
public class JDynFormFieldURIFactory extends AbstractJDynFormFieldFactory {
|
|
40 | 33 |
|
41 |
private String name = null; |
|
42 |
private DynStruct parametersDefinition = null; |
|
43 |
|
|
44 |
public String getName() { |
|
45 |
if( name == null ) { |
|
46 |
DynFormSPIManager manager = DynFormSPILocator.getDynFormSPIManager(); |
|
47 |
this.name = manager.makeServiceName(DataTypes.URI, null); |
|
48 |
} |
|
49 |
return this.name; |
|
50 |
} |
|
34 |
public JDynFormFieldURIFactory() { |
|
35 |
super("URI", DataTypes.URI); |
|
36 |
} |
|
51 | 37 |
|
52 |
|
|
53 |
public Service create(DynObject parameters, ServiceManager serviceManager) |
|
54 |
throws ServiceException { |
|
55 |
return new JDynFormFieldURI(parameters, serviceManager); |
|
56 |
} |
|
57 |
|
|
58 |
public DynObject createParameters() { |
|
59 |
return ToolsLocator.getDynObjectManager().createDynObject(parametersDefinition); |
|
60 |
} |
|
61 |
|
|
62 |
public void initialize() { |
|
63 |
if( this.parametersDefinition == null ) { |
|
64 |
String serviceName = this.getName(); |
|
65 |
DynObjectManager manager = ToolsLocator.getDynObjectManager(); |
|
66 |
this.parametersDefinition = manager.createDynClass( |
|
67 |
serviceName, "Parameters definition for URI fields in dynamic forms"); |
|
68 |
this.parametersDefinition.addDynFieldObject(DynFormSPIManager.FIELD_FIELDDEFINITION) |
|
69 |
.setClassOfValue(DynField.class).setMandatory(true); |
|
70 |
this.parametersDefinition.addDynFieldObject(DynFormSPIManager.FIELD_VALUE) |
|
71 |
.setClassOfValue(DynField.class).setMandatory(true); |
|
72 |
} |
|
73 |
} |
|
74 |
|
|
75 |
|
|
38 |
@Override |
|
39 |
public JDynFormField create( |
|
40 |
DynFormSPIManager serviceManager, |
|
41 |
DynFormSPIManager.ComponentsFactory componentsFactory, |
|
42 |
DynFormFieldDefinition fieldDefinition, |
|
43 |
Object value |
|
44 |
) { |
|
45 |
return new JDynFormFieldURI(serviceManager, componentsFactory, this, fieldDefinition, value); |
|
46 |
} |
|
76 | 47 |
} |
Also available in: Unified diff