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 @ 592

History | View | Annotate | Download (1.51 KB)

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

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

    
8
public class DynFieldRequiredValueException extends DynFieldValidateException {
9

    
10
        /**
11
         * 
12
         */
13
        private static final long serialVersionUID = -7813629748228774775L;
14
        private final static String MESSAGE_FORMAT = "Field '%(field)': Value required.";
15
        private final static String MESSAGE_KEY = "_Field_XfieldX_Value_required.";
16

    
17
        public DynFieldRequiredValueException(DynField field, Object value) {
18
                super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
19

    
20
                setValue("field", field.getName());
21
                setValue(value);
22
        }
23

    
24
        private void setValue(Object value) {
25
                try {
26
                        if (value instanceof DynObject) {
27
                                setValue("value", ((DynObject) value).getDynClass().getName());
28
                                return;
29
                        } else if (value instanceof DynClass) {
30
                                setValue("value", ((DynClass) value).getName());
31
                                return;
32
                        } else if (value instanceof DynStruct) {
33
                                setValue("value", ((DynStruct) value).getName());
34
                                return;
35
                        }
36
                        if (value == null) {
37
                                setValue("value", "null");
38
                        } else {
39
                                setValue("value", value.toString());
40
                        }
41
                } catch (Exception e) {
42
                        setValue("value", "(unknow)");
43
                }
44
        }
45

    
46
        public DynField getDynField() {
47
                return (DynField) this.values().get("field");
48
        }
49

    
50
        public String getDynFieldName() {
51
                return this.getDynField().getName();
52
        }
53

    
54
        public Object getValueOfException() {
55
                return this.values().get("value");
56
        }
57

    
58
}