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