package foundation.translator;
|
|
import java.math.BigDecimal;
|
import java.text.DateFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
import foundation.server.config.DBaseType;
|
import foundation.util.Util;
|
|
|
public class IntegerTranslator extends ITranslator {
|
|
|
public String toString(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return null;
|
}
|
|
return value.toString();
|
}
|
|
public String toSqlString(DBaseType dbaseType, Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return "null";
|
}
|
|
return value.toString();
|
}
|
|
public String toJSONString(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return "null";
|
}
|
|
return value.toString();
|
}
|
|
@Override
|
public String toSchemaString(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return "";
|
}
|
|
return value.toString();
|
}
|
|
@Override
|
public Integer toInteger(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return null;
|
}
|
|
if (value instanceof Integer) {
|
return (Integer)value;
|
}
|
|
return Integer.valueOf(String.valueOf(value));
|
}
|
|
@Override
|
public Double toDouble(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return null;
|
}
|
|
return Double.valueOf((Integer)value);
|
}
|
|
@Override
|
public BigDecimal toBigDecimal(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return null;
|
}
|
|
return BigDecimal.valueOf((Integer)value);
|
}
|
|
@Override
|
public Boolean toBoolean(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return null;
|
}
|
|
return ((Integer)value) > 0;
|
}
|
|
@Override
|
public Date toDate(Object value) throws Exception {
|
if (value == null || value == ValueType.Null) {
|
return null;
|
}
|
|
Integer intValue = (Integer)value;
|
|
if (intValue >= 19500101 && intValue <= 21000101) {
|
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
return dateFormat.parse(String.valueOf(intValue));
|
}
|
else {
|
return new Date(Long.valueOf((Integer)value));
|
}
|
}
|
|
@Override
|
public Object toTranslatorTypeValue(Object value) throws Exception {
|
return (Integer)value;
|
}
|
|
@Override
|
public Object loadObjectFrom(String value) throws Exception {
|
if (Util.isEmpty(value)) {
|
return null;
|
}
|
|
return Integer.valueOf(value);
|
}
|
|
@Override
|
public Class<?> getDataClass() {
|
return Integer.class;
|
}
|
|
}
|