Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.lib / src / main / java / org / gvsig / tools / dynobject / exception / DynFieldRequiredValueException.java @ 651

History | View | Annotate | Download (1.76 KB)

1
package org.gvsig.tools.dynobject.exception;
2

    
3
import org.gvsig.tools.ToolsLocator;
4
import org.gvsig.tools.dynobject.DynClass;
5
import org.gvsig.tools.dynobject.DynField;
6
import org.gvsig.tools.dynobject.DynObject;
7
import org.gvsig.tools.dynobject.DynStruct;
8

    
9
public class DynFieldRequiredValueException extends DynFieldValidateException {
10

    
11
        /**
12
         * 
13
         */
14
        private static final long serialVersionUID = -7813629748228774775L;
15
    private final static String MESSAGE_FORMAT =
16
        "Field '%(fieldText)': Value required.";
17
    private final static String MESSAGE_KEY =
18
        "_Field_XfieldTextX_Value_required";
19

    
20
        public DynFieldRequiredValueException(DynField field, Object value) {
21
                super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
22

    
23
        setValue("field", field.getName());
24
        setValue("fieldText", translate(field.getName()));
25
                setValue(value);
26
        }
27

    
28
    private String translate(String name) {
29
        return ToolsLocator.getI18nManager().getTranslation(name);
30
    }
31

    
32
    private void setValue(Object value) {
33
                try {
34
                        if (value instanceof DynObject) {
35
                                setValue("value", ((DynObject) value).getDynClass().getName());
36
                                return;
37
                        } else if (value instanceof DynClass) {
38
                                setValue("value", ((DynClass) value).getName());
39
                                return;
40
                        } else if (value instanceof DynStruct) {
41
                                setValue("value", ((DynStruct) value).getName());
42
                                return;
43
                        }
44
                        if (value == null) {
45
                                setValue("value", "null");
46
                        } else {
47
                                setValue("value", value.toString());
48
                        }
49
                } catch (Exception e) {
50
                        setValue("value", "(unknow)");
51
                }
52
        }
53

    
54
        public DynField getDynField() {
55
                return (DynField) this.values().get("field");
56
        }
57

    
58
        public String getDynFieldName() {
59
                return this.getDynField().getName();
60
        }
61

    
62
        public Object getValueOfException() {
63
                return this.values().get("value");
64
        }
65

    
66
}