/** * Make example. * * @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 DecisionTable dt = new DecisionTable(); String[][] content = dt.getTableContent(rules); System.out.println("-----------Table Example-------------"); System.out.println(dt.getInfo(content)); return rules; } /** * Make conditions. * * @return the vector */ public static Vector<DTCondition> makeConditions() { Vector<DTCondition> conditions = new Vector<DTCondition>(); DTCondition c = new DTCondition("C2", new String[] { "Y", "N" }); conditions.add(c); c = new DTCondition("C1", new String[] { "Y", "N" }); conditions.add(c); return conditions; } /** * The main method. * * @param args the arguments */ public static void main(String[] args) { Vector<DecisionRule> rules = makeExample(); DecisionTable table = new DecisionTable(); String[][] content = table.getTableContent(rules); RowShifter shifter = new RowShifter(content); String[][] result = shifter.Shift(makeConditions()); System.out.println(shifter.getContentPrint(result)); }