|
@@ -4,7 +4,6 @@
|
|
|
package org.dbsyncer.sdk.schema;
|
|
|
|
|
|
import org.dbsyncer.sdk.SdkException;
|
|
|
-import org.dbsyncer.sdk.connector.ConnectorInstance;
|
|
|
import org.dbsyncer.sdk.model.Field;
|
|
|
|
|
|
import java.lang.reflect.ParameterizedType;
|
|
@@ -17,7 +16,7 @@ import java.lang.reflect.ParameterizedType;
|
|
|
public abstract class AbstractDataType<T> implements DataType {
|
|
|
|
|
|
private final Class<T> parameterClazz;
|
|
|
- protected ConnectorInstance connectorInstance;
|
|
|
+ protected SchemaResolver schemaResolver;
|
|
|
|
|
|
public AbstractDataType() {
|
|
|
parameterClazz = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
|
|
@@ -33,20 +32,20 @@ public abstract class AbstractDataType<T> implements DataType {
|
|
|
protected abstract T merge(Object val, Field field);
|
|
|
|
|
|
/**
|
|
|
- * 转换为指定数据类型
|
|
|
+ * 获取默认合并值
|
|
|
*
|
|
|
- * @param val
|
|
|
- * @param field
|
|
|
* @return
|
|
|
*/
|
|
|
- protected abstract T convert(Object val, Field field);
|
|
|
+ protected abstract T getDefaultMergedVal();
|
|
|
|
|
|
/**
|
|
|
- * 获取默认合并值
|
|
|
+ * 转换为指定数据类型
|
|
|
*
|
|
|
+ * @param val
|
|
|
+ * @param field
|
|
|
* @return
|
|
|
*/
|
|
|
- protected abstract T getDefaultMergedVal();
|
|
|
+ protected abstract Object convert(Object val, Field field);
|
|
|
|
|
|
/**
|
|
|
* 获取默认转换值
|
|
@@ -55,10 +54,6 @@ public abstract class AbstractDataType<T> implements DataType {
|
|
|
*/
|
|
|
protected abstract Object getDefaultConvertedVal();
|
|
|
|
|
|
- protected T throwUnsupportedException(Object val, Field field) {
|
|
|
- throw new SdkException(String.format("%s does not support type [%s] convert to [%s], val [%s]", getClass().getSimpleName(), val.getClass(), field.getTypeName(), val));
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public Object mergeValue(Object val, Field field) {
|
|
|
if (val == null || field == null) {
|
|
@@ -81,11 +76,15 @@ public abstract class AbstractDataType<T> implements DataType {
|
|
|
return convert(val, field);
|
|
|
}
|
|
|
|
|
|
- public ConnectorInstance getConnectorInstance() {
|
|
|
- return connectorInstance;
|
|
|
+ protected T throwUnsupportedException(Object val, Field field) {
|
|
|
+ throw new SdkException(String.format("%s does not support type [%s] convert to [%s], val [%s]", getClass().getSimpleName(), val.getClass(), field.getTypeName(), val));
|
|
|
+ }
|
|
|
+
|
|
|
+ public SchemaResolver getSchemaResolver() {
|
|
|
+ return schemaResolver;
|
|
|
}
|
|
|
|
|
|
- public void setConnectorInstance(ConnectorInstance connectorInstance) {
|
|
|
- this.connectorInstance = connectorInstance;
|
|
|
+ public void setSchemaResolver(SchemaResolver schemaResolver) {
|
|
|
+ this.schemaResolver = schemaResolver;
|
|
|
}
|
|
|
}
|