This method can be used to check whether or not a decision rule column exists in a decision table
/*
* Make example.
* @author Yan Tang, 2009
* @return the vector
/
private static Vector<DecisionRule> makeExample() {
// Originally first c1 then c2, start building a decision table
Vector<DecisionRule> rules = new Vector<DecisionRule>();
// column 1
DecisionRule rule = new DecisionRule();
rule.addCondition(new ConditionPair("C1", "Y"));
rule.addCondition(new ConditionPair("C2", "N"));
rule.addAction(new ActionPair("A1", "*"));
rule.addAction(new ActionPair("A2", "/"));
rules.add(rule);
// column 2
rule = new DecisionRule();
rule.addCondition(new ConditionPair("C1", "Y"));
rule.addCondition(new ConditionPair("C2", "Y"));
rule.addAction(new ActionPair("A1", "/"));
rule.addAction(new ActionPair("A2", "/"));
rules.add(rule);
// column 3
rule = new DecisionRule();
rule.addCondition(new ConditionPair("C1", "N"));
rule.addCondition(new ConditionPair("C2", "N"));
rule.addAction(new ActionPair("A1", "*"));
rule.addAction(new ActionPair("A2", "/"));
rules.add(rule);
// column 4
rule = new DecisionRule();
rule.addCondition(new ConditionPair("C1", "N"));
rule.addCondition(new ConditionPair("C2", "Y"));
rule.addAction(new ActionPair("A1", "*"));
rule.addAction(new ActionPair("A2", "/"));
rules.add(rule);
// finish building the decision table
return rules;
}
/**
* The main method.
*
* @param args
* the arguments
*/
public static void main(String[] args) {
Vector<DecisionRule> rules = makeExample();
DecisionRule rule = new DecisionRule();
rule.addCondition(new ConditionPair("C1", "Y"));
rule.addCondition(new ConditionPair("C2", "N"));
rule.addAction(new ActionPair("A1", "*"));
rule.addAction(new ActionPair("A2", "/"));
// true
DecisionRuleVector vec = new DecisionRuleVector();
System.out.println(vec.exist(rules, rule));
// false
rule.getActions().get(0).setActionEntry("/");
System.out.println(vec.exist(rules, rule));
rule.getActions().clear();
rule.getConditions().clear();
rule.addCondition(new ConditionPair("C2", "N"));
rule.addCondition(new ConditionPair("C1", "Y"));
rule.addAction(new ActionPair("A2", "/"));
rule.addAction(new ActionPair("A1", "*"));
// true
System.out.println(vec.exist(rules, rule));
// false
rule.getActions().clear();
rule.getConditions().clear();
rule.addCondition(new ConditionPair("C1", "Y"));
rule.addCondition(new ConditionPair("C2", "Y"));
rule.addAction(new ActionPair("A1", "*"));
rule.addAction(new ActionPair("A2", "/"));
System.out.println(vec.exist(rules, rule));
}