
com.github.dakusui.crest.matcherbuilders.MatcherBuilder Maven / Gradle / Ivy
package com.github.dakusui.crest.matcherbuilders;
import com.github.dakusui.crest.core.Matcher;
import com.github.dakusui.faultsource.printable.Predicates;
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
import static java.util.stream.Collectors.toList;
/*
*/
public interface MatcherBuilder> {
enum Op {
AND {
@SuppressWarnings("unchecked")
@Override
Matcher super I> create(List extends Matcher super I>> matchers) {
return Matcher.Conjunctive.create(false, (List>) matchers);
}
},
OR {
@SuppressWarnings("unchecked")
@Override
Matcher super I> create(List extends Matcher super I>> matchers) {
return Matcher.Disjunctive.create(false, (List>) matchers);
}
};
@SuppressWarnings("unchecked")
Matcher super I> create(List> predicates, Function super I, ? extends O> function) {
return create(
predicates.stream(
).map(
predicate -> (Matcher
© 2015 - 2025 Weber Informatics LLC | Privacy Policy