org.drools.decisiontable.parser
Class RuleMatrixSheetListener

java.lang.Object
  extended by org.drools.decisiontable.parser.DefaultRuleSheetListener
      extended by org.drools.decisiontable.parser.RuleMatrixSheetListener
All Implemented Interfaces:
RuleSheetListener, DataListener

public class RuleMatrixSheetListener
extends DefaultRuleSheetListener

href="mailto:michael.neale@gmail.com"> Michael Neale Define a ruleset spreadsheet which contains a matrix style decision tables. This is an example of a custom RuleSheetListener. It differs from the standard decision table in the following ways: - AgendaGroup property so that all rules fall within the same agenda-group - Precondition property which specifies a condition that is always included if a rule is being generated - Action property. Each cell within the decision table causes this action to be triggered - HorizontalCondition property. Each column header in the matrix applies this condition - VerticalCondition property. Each row header in the matrix applies this condition A table is identifed by a cell beginning with the text "RuleTable". The cells after RuleTable in the same row identify the Horizontal Conditions. The cells after RuleTable in the same column identify the Vertical Conditions. The cells with the matrix identify the actions. Wherever an action cell exists for a Vertical/Horizontal condition intersection the following rule is created: rule "rule_row_col" agenda-group AgendaGroup when Precondition VerticalCondition HorizontalCondition then Action end


Field Summary
static String ACTION_TAG
           
static String AGENDAGROUP_TAG
           
static String HORIZONTALCONDITION_TAG
           
static String PRECONDITION_TAG
           
static String VERTICALCONDITION_TAG
           
 
Fields inherited from class org.drools.decisiontable.parser.DefaultRuleSheetListener
DECLARES_TAG, ESCAPE_QUOTES_FLAG, FUNCTIONS_TAG, IMPORT_TAG, QUERIES_TAG, RULE_TABLE_TAG, RULESET_TAG, SEQUENTIAL_FLAG, VARIABLES_TAG
 
Fields inherited from interface org.drools.template.parser.DataListener
NON_MERGED
 
Constructor Summary
RuleMatrixSheetListener()
           
 
Method Summary
 void finishSheet()
           
 void newCell(int row, int column, String value, int mergedColStart)
           
 void newRow(int rowNumber, int columns)
           
protected  void postInitRuleTable(int row, int column, String value)
          Called after rule table initialisation.
protected  void preInitRuleTable(int row, int column, String value)
          This gets called each time a "new" rule table is found.
 
Methods inherited from class org.drools.decisiontable.parser.DefaultRuleSheetListener
addRule, getCurrentRule, getProperties, getRuleSet, startSheet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AGENDAGROUP_TAG

public static final String AGENDAGROUP_TAG
See Also:
Constant Field Values

PRECONDITION_TAG

public static final String PRECONDITION_TAG
See Also:
Constant Field Values

ACTION_TAG

public static final String ACTION_TAG
See Also:
Constant Field Values

HORIZONTALCONDITION_TAG

public static final String HORIZONTALCONDITION_TAG
See Also:
Constant Field Values

VERTICALCONDITION_TAG

public static final String VERTICALCONDITION_TAG
See Also:
Constant Field Values
Constructor Detail

RuleMatrixSheetListener

public RuleMatrixSheetListener()
Method Detail

newCell

public void newCell(int row,
                    int column,
                    String value,
                    int mergedColStart)
Specified by:
newCell in interface DataListener
Overrides:
newCell in class DefaultRuleSheetListener

newRow

public void newRow(int rowNumber,
                   int columns)
Specified by:
newRow in interface DataListener
Overrides:
newRow in class DefaultRuleSheetListener

finishSheet

public void finishSheet()
Specified by:
finishSheet in interface DataListener
Overrides:
finishSheet in class DefaultRuleSheetListener

postInitRuleTable

protected void postInitRuleTable(int row,
                                 int column,
                                 String value)
Description copied from class: DefaultRuleSheetListener
Called after rule table initialisation. Subclasses may override this method to do additional processing.

Overrides:
postInitRuleTable in class DefaultRuleSheetListener

preInitRuleTable

protected void preInitRuleTable(int row,
                                int column,
                                String value)
This gets called each time a "new" rule table is found.

Overrides:
preInitRuleTable in class DefaultRuleSheetListener


Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.