com.kg.component.generator.config.converts.select.BranchBuilder Maven / Gradle / Ivy
package com.kg.component.generator.config.converts.select;
import java.util.function.Function;
import java.util.function.Predicate;
/**
* 分支构建者
*
* @author hanchunlin
* Created at 2020/6/11 17:22
*/
public interface BranchBuilder {
/**
* 使用一个值工厂构造出一个分支
*
* @param factory 值工厂
* @return 返回分支
*/
Branch
then(Function
factory);
/**
* 从值构建出一个分支
*
* @param value 值
* @return 返回一个分支
*/
default Branch
then(T value) {
return then(p -> value);
}
/**
* 工厂函数,用于创建分支构建者
*
* @param tester 测试器
* @param
参数类型
* @param 返回值类型
* @return 返回一个分支创建者
*/
static BranchBuilder
of(Predicate
tester) {
return factory -> Branch.of(tester, factory);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy