class AbstractJDBCImporter extends AbstractShardingScalingExecutor<IncrementalPosition> implements Importer {

    private void execute(final Connection connection, final Record record) throws SQLException {
        if (DataRecord.class.equals(record.getClass())) {
            DataRecord dataRecord = (DataRecord) record;
            switch (dataRecord.getType()) {
                case ScalingConstant.INSERT:
                    executeInsert(connection, dataRecord);
                    break;
                case ScalingConstant.UPDATE:
                    executeUpdate(connection, dataRecord);
                    break;
                case ScalingConstant.DELETE:
                    executeDelete(connection, dataRecord);
                    break;
                default:
                    break;
            }
        }
    }

    protected  AbstractJDBCImporter(final ImporterConfiguration importerConfig, final DataSourceManager dataSourceManager);

}