Statistics
| Revision:

gvsig-tools / 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 / Long / JDynFormFieldLong.java @ 931

History | View | Annotate | Download (1.38 KB)

1
package org.gvsig.tools.dynform.services.dynformfield.Long;
2

    
3
import javax.swing.JComboBox;
4
import javax.swing.JTextField;
5

    
6
import org.gvsig.tools.dynform.spi.dynformfield.AbstractJDynFormFieldWithValueList;
7
import org.gvsig.tools.dynobject.DynObject;
8
import org.gvsig.tools.dynobject.DynObjectValueItem;
9
import org.gvsig.tools.dynobject.exception.DynFieldValidateException;
10
import org.gvsig.tools.service.spi.ServiceManager;
11

    
12
public class JDynFormFieldLong extends AbstractJDynFormFieldWithValueList {
13
        
14
        public JDynFormFieldLong(DynObject parameters,
15
                        ServiceManager serviceManager) {
16
                super(parameters, serviceManager);
17
        }
18

    
19
        public Object getValue() {
20
                Object value = null;
21
                if( this.contents instanceof JTextField ) {
22
                        String s = getJTextField().getText();
23
                        if( s.trim().length()==0 ) {
24
                                value = this.getDefinition().getDefaultValue();
25
                        } else {
26
                                try {
27
                                        value = Long.valueOf(s);
28
                                } catch(Exception ex) {
29
                                        throw new IllegalFieldValue(this, "Is not a valid long.");
30
                                }
31
                        }
32
                } else {
33
                        DynObjectValueItem x = (DynObjectValueItem) ((JComboBox)this.contents).getSelectedItem();
34
                        if( x==null ) {
35
                                value = null;
36
                        } else {
37
                                value = x.getValue();
38
                        }
39
                }
40
                try {
41
                        this.getDefinition().validate(value);
42
                        this.problemIndicator().clear();
43
                } catch (DynFieldValidateException e) {
44
                        throw new IllegalFieldValue(this, e.getLocalizedMessage());
45
                }
46
                return value;
47
        }
48

    
49
}