package frame.data.convert; import java.math.BigDecimal; import java.util.Date; import frame.data.Variant; import frame.util.Util; public class BigDecimalTranslator extends Convertor { public Object loadToObject(String value) throws Exception { if (Util.isEmptyStr(value)) { return null; } return BigDecimal.valueOf(Double.valueOf(value)); } public Variant loadToVariant(String value) throws Exception { if (value == null) { return new Variant(); } BigDecimal result = BigDecimal.valueOf(Double.valueOf(value)); return new Variant(result); } public String toString(Object value) throws Exception { if (value == null) { return null; } return value.toString(); } public String toSqlString(Object value) throws Exception { return String.valueOf(value); } public String toSqlString(String prefix, Object value, String suffix) throws Exception { return toSqlString(value); } public String toJSONString(Object value) throws Exception { if (value == null) { return "null"; } return value.toString(); } public Integer toInteger(Object object) throws Exception { if (object == null) { return 0; } BigDecimal value = (BigDecimal)object; return value.intValue(); } @Override public String toSchemaString(Object value) throws Exception { // TODO Auto-generated method stub return null; } @Override public BigDecimal toBigDecimal(Object object, BigDecimal defaultValue) throws Exception { BigDecimal bigDecimal = toBigDecimal(object); return bigDecimal == null ? defaultValue : bigDecimal; } @Override public boolean toBoolean(Object value, boolean defaultValue) throws Exception { // TODO Auto-generated method stub return false; } @Override public boolean toDate(Object value, Date defaultValue) throws Exception { // TODO Auto-generated method stub return false; } @Override public Double toDouble(Object object) throws Exception { if (object == null) { return 0.0; } BigDecimal value = (BigDecimal)object; return value.doubleValue(); } public BigDecimal toBigDecimal(Object object) throws Exception { if (object == null) { return BigDecimal.valueOf(0); } return (BigDecimal)object; } public Boolean toBoolean(Object object) throws Exception { BigDecimal value = toBigDecimal(object); return !value.equals(0); } public Date toDate(Object object) throws Exception { return null; } @Override public Object toSelfType(Object value) throws Exception { return toBigDecimal(value); } @Override public int toInteger(Object value, int defaultValue) throws Exception { // TODO Auto-generated method stub return 0; } }