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; } }