Menu

use DecisionRuleVector as a decision table container

To check whether a vector of decision rules contain a decision rule.

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));
}
Posted by Yan Tang Demey 2012-10-18 Labels: DecisionRuleVector;DecisionRule

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.