All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.featherfly.common.db.data.AbstractDataImportor Maven / Gradle / Ivy

There is a newer version: 1.5.6
Show newest version

package cn.featherfly.common.db.data;

import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;

import cn.featherfly.common.lang.LangUtils;


/**
 * 

* 抽象导入器 *

* * @author zhongj */ public abstract class AbstractDataImportor extends AbstractDataImpExp implements DataImportor{ /** *

* 添加预执行sql *

* @param prepareSql prepareSql */ public void addPrepareSql(String prepareSql) { if (LangUtils.isNotEmpty(prepareSql)) { this.prepareSqls.add(prepareSql); } } /** *

* 添加预执行sql *

* @param prepareSqls prepareSqls */ public void addPrepareSql(String...prepareSqls) { if (LangUtils.isNotEmpty(prepareSqls)) { for (String prepareSql : prepareSqls) { this.prepareSqls.add(prepareSql); } } } /** *

* 添加过滤器 *

* @param filter filter */ public void addFilter(DataFilter filter) { if (LangUtils.isNotEmpty(filter)) { this.filters.add(filter); } } /** *

* 添加过滤器 *

* @param filters dataFilters */ public void addFilter(DataFilter...filters) { if (LangUtils.isNotEmpty(filters)) { for (DataFilter filter : filters) { this.filters.add(filter); } } } /** *

* 添加数据变换器 *

* @param transformer transformer */ public void addTransformers(DataTransformer transformer) { if (LangUtils.isNotEmpty(transformer)) { this.transformers.add(transformer); } } /** *

* 添加数据变换器 *

* @param transformers transformer */ public void addTransformers(DataTransformer...transformers) { if (LangUtils.isNotEmpty(filters)) { for (DataTransformer transformer : transformers) { this.transformers.add(transformer); } } } /** *

* 数据过滤 *

* @param recordModel recordModel * @param conn conn * @return RecordModel */ protected boolean filtdate(RecordModel recordModel, Connection conn) { // 过滤 if (LangUtils.isNotEmpty(filters)) { for (DataFilter filter : filters) { if (filter.filter(recordModel, conn)) { logger.debug("过滤该条数据, {}", recordModel); return true; } } } return false; } /** *

* 数据变换 *

* @param recordModel recordModel * @return RecordModel */ protected RecordModel transform(RecordModel recordModel) { // 数据变换 if (LangUtils.isNotEmpty(transformers)) { for (DataTransformer transformer : transformers) { recordModel = transformer.transform(recordModel); } } return recordModel; } // ******************************************************************** // peroperty // ******************************************************************** private boolean fkCheck; private ExistPolicy existPolicy = ExistPolicy.exception; private TransactionPolicy transactionPolicy = TransactionPolicy.all; private List prepareSqls = new ArrayList(); private List filters = new ArrayList(); private List transformers = new ArrayList(); /** * 返回prepareSqls * @return prepareSqls */ public List getPrepareSqls() { return prepareSqls; } /** * 设置prepareSqls * @param prepareSqls prepareSqls */ public void setPrepareSqls(List prepareSqls) { this.prepareSqls = prepareSqls; } /** * 返回transformers * @return transformers */ public List getTransformers() { return transformers; } /** * 设置transformers * @param transformers transformers */ public void setTransformers(List transformers) { this.transformers = transformers; } /** * 返回existPolicy * @return existPolicy */ public ExistPolicy getExistPolicy() { return existPolicy; } /** * 设置existPolicy * @param existPolicy existPolicy */ public void setExistPolicy(ExistPolicy existPolicy) { this.existPolicy = existPolicy; } /** * 返回transactionPolicy * @return transactionPolicy */ public TransactionPolicy getTransactionPolicy() { return transactionPolicy; } /** * 设置transactionPolicy * @param transactionPolicy transactionPolicy */ public void setTransactionPolicy(TransactionPolicy transactionPolicy) { this.transactionPolicy = transactionPolicy; } /** * 返回fkCheck * @return fkCheck */ public boolean isFkCheck() { return fkCheck; } /** * 设置fkCheck * @param fkCheck fkCheck */ public void setFkCheck(boolean fkCheck) { this.fkCheck = fkCheck; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy