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

db.sql.api.impl.cmd.executor.SelectorCall Maven / Gradle / Ivy

There is a newer version: 1.7.6-RC2
Show newest version
package db.sql.api.impl.cmd.executor;

import db.sql.api.DbType;

import java.util.concurrent.Callable;

/**
 * 选择器 不同数据库执行不同的方法
 */
public interface SelectorCall {

    /**
     * 当数据库类型为dbType 时
     *
     * @param dbType   数据库类型
     * @param runnable 执行器
     * @return 自己
     */
    SelectorCall when(DbType dbType, Callable runnable);

    /**
     * 当数据库类型在dbTypes 时
     *
     * @param dbTypes  数据库类型数组
     * @param runnable 执行器
     * @return 自己
     */
    default SelectorCall when(DbType[] dbTypes, Callable runnable) {
        for (DbType dbType : dbTypes) {
            when(dbType, runnable);
        }
        return this;
    }

    /**
     * 其他数据库类型时
     *
     * @param runnable 执行器
     * @return 自己
     */
    SelectorCall otherwise(Callable runnable);

    /**
     * 其他数据库类型时 忽略
     */
    SelectorCall otherwise();

    /**
     * 执行
     *
     * @param dbType 数据库类型
     */
    R dbExecute(DbType dbType);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy