P15GEN2\59518
2024-05-29 d4210c7c4b04abde20037ea8aa0f54ef8a2649aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
package foundation.translator;
 
import java.math.BigDecimal;
import java.util.Date;
 
import foundation.server.config.DBaseType;
import foundation.util.Util;
 
public abstract class ITranslator {
 
    protected String format;
    
    public ITranslator() {
        
    }
    
    public abstract String toString(Object value) throws Exception;
    
    public String toString(Object value, String defaultValue) {
        if (value == null) {
            return defaultValue;
        }
        
        try {
            return toString(value);
        }
        catch (Exception e) {
            return defaultValue;
        }
    }
    
    public abstract String toSqlString(DBaseType dbaseType, Object value) throws Exception;
    
    public String toSqlString(DBaseType dbaseType, Object value, String prefix, String suffix) throws Exception    {
        if (value == null) {
            return "null";
        }
        
        String result = toSqlString(dbaseType, value);
        
        if (prefix != null) {
            result = prefix + result;
        }
        
        if (suffix != null) {
            result = result + suffix;
        }
        
        return result;
    }
 
    public abstract String toJSONString(Object value) throws Exception;
    
    public abstract String toSchemaString(Object value) throws Exception;
    
    public abstract Integer toInteger(Object value) throws Exception;
 
    public Integer toInteger(Object value, Integer defaultValue) {
        if (value == null) {
            return defaultValue;
        }
        
        try {
             return toInteger(value);
        }
        catch (Exception e) {
             return defaultValue;
        }
    }
    
    public abstract Double toDouble(Object value)throws Exception;
    
    public Double toDouble(Object value, Double defaultValue) {
        if (value == null || value == ValueType.Null) {
            return defaultValue;
        }
        
        try {
            return toDouble(value);
        }
        catch (Exception e) {
            return defaultValue;
        }
    }
    
    public abstract BigDecimal toBigDecimal(Object value) throws Exception;
 
    public BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) {
        if (value == null || value == ValueType.Null) {
            return defaultValue;
        }
        try {
            return toBigDecimal(value);
        }
        catch (Exception e) {
            return defaultValue;
        }
    }
    
    public abstract Boolean toBoolean(Object value) throws Exception;
    
    public Boolean toBoolean(Object value, boolean defaultValue) {
        if (Util.isEmpty(value)) {
            return defaultValue;
        }
        
        try {
            return toBoolean(value);
        }
        catch (Exception e) {
            return defaultValue;
        }
    }
 
    public abstract Date toDate(Object value) throws Exception;
    
    public Date toDate(Object value, Date defaultValue) {
        try {
            Date result = toDate(value);
            
            if (result == null) {
                result = defaultValue;
            }
            
            return result;
        }
        catch (Exception e) {
            return defaultValue;
        }
    }
 
    public abstract Object toTranslatorTypeValue(Object value) throws Exception;
    
    public abstract Object loadObjectFrom(String value) throws Exception;
    
    public Object loadObjectFrom(String value, Object defaultValue) {
        try {
            return loadObjectFrom(value);
        }
        catch (Exception e) {
            return defaultValue;
        }
    }
    
    public abstract Class<?> getDataClass();
    
    public void setFormat(String format) {
        this.format = format;
    }
    
    public String getFormat() {
        return format;
    }
 
}