Drools может возвращать список правил, соответствующих приведенному ниже коду, но может ли он возвращать набор правил, в котором не найдено ни одного правила, или не найден список правил? Если да, то как? В коде я хочу знать, не найдено или не выполнено ни одного правила в конкретном наборе правил.
import java.util.ArrayList;
import java.util.List;
import org.kie.api.event.rule.AfterMatchFiredEvent;
import org.kie.api.event.rule.DefaultAgendaEventListener;
import org.kie.api.runtime.rule.Match;
/**
* Wrapper to log matched rules for input request.
*
*/
public class DroolsResponseReader extends DefaultAgendaEventListener {
private List<Match> matchList = new ArrayList<Match>();
boolean isRuleFired() {
return matchList.size() > 0;
}
@Override
public void afterMatchFired(final AfterMatchFiredEvent event) {
matchList.add(event.getMatch());
}
public String rulesFiredToString() {
if(matchList.size() == 0) {
return "No Rule Fired!";
} else {
StringBuilder matches = new StringBuilder("Rule Fired : ");
for (Match match : matchList) {
matches.append("\nRule: ").append(match.getRule().getName());
}
return matches.toString();
}
}