package frame.variant.translator;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
|
import frame.variant.Value;
|
|
public abstract class ITranslator {
|
|
protected String format;
|
|
public ITranslator() {
|
|
}
|
|
public abstract String toString(Object value) throws Exception;
|
|
public String toString(Object value, String defaultValue) {
|
try {
|
return toString(value);
|
}
|
catch (Exception e) {
|
return defaultValue;
|
}
|
}
|
|
public abstract String toSqlString(Object value) throws Exception;
|
|
public String toSqlString(String prefix, Object value, String suffix) throws Exception {
|
if (value == null) {
|
return "null";
|
}
|
|
String result = toSqlString(value);
|
|
if (prefix != null) {
|
result = result + prefix;
|
}
|
|
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) {
|
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) {
|
try {
|
return toBigDecimal(value);
|
}
|
catch (Exception e) {
|
return defaultValue;
|
}
|
}
|
|
public abstract Boolean toBoolean(Object value) throws Exception;
|
|
public Boolean toBoolean(Object value, boolean 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 {
|
return toDate(value);
|
}
|
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 Value loadVariantFrom(String value) throws Exception;
|
|
public abstract Value loadVariantFrom(String value, Object defaultValue);
|
|
public abstract Class<?> getDataClass();
|
|
public void setFormat(String format) {
|
this.format = format;
|
}
|
|
public String getFormat() {
|
return format;
|
}
|
|
}
|