package com.njcn.gather.systemops.database.support.spi;

import com.njcn.gather.systemops.database.pojo.param.DatabaseBackupParam;
import com.njcn.gather.systemops.database.pojo.po.DatabaseBackupFile;
import com.njcn.gather.systemops.database.pojo.po.DatabaseConnection;
import com.njcn.gather.systemops.database.pojo.po.DatabaseOperationTask;

/**
 * 按数据库类型与备份策略隔离备份执行能力。
 */
public interface DatabaseBackupOperator {

    boolean support(String dbType, String backupStrategy);

    DatabaseBackupFile executeBackup(DatabaseOperationTask task, DatabaseConnection connection, String password,
                                     DatabaseBackupParam.CreateParam param) throws Exception;
}
