Class SpreadsheetCompiler

java.lang.Object
org.drools.decisiontable.SpreadsheetCompiler

public class SpreadsheetCompiler extends Object
This class handles the input XLS and CSV and extracts the rule DRL, ready for pumping into drools.
  • Field Details

    • logger

      protected static final transient org.slf4j.Logger logger
  • Constructor Details

    • SpreadsheetCompiler

      public SpreadsheetCompiler()
    • SpreadsheetCompiler

      public SpreadsheetCompiler(boolean trimCell)
  • Method Details

    • compile

      public String compile(boolean showPackage, InputStream xlsStream, InputType type)
      Generates DRL from the input stream containing the spreadsheet.
      Parameters:
      showPackage - tells it to print or not print any package statements in the spreadsheet.
      xlsStream - The stream to the spreadsheet. Uses the first worksheet found for the decision tables, ignores others.
      Returns:
      DRL xml, ready for use in drools.
    • compile

      public String compile(InputStream xlsStream, InputType type)
      Generates DRL from the input stream containing the spreadsheet.
      Parameters:
      xlsStream - The stream to the spreadsheet. Uses the first worksheet found for the decision tables, ignores others.
      Returns:
      DRL xml, ready for use in drools.
    • compile

      public String compile(Resource resource, InputType type)
    • compile

      public String compile(InputStream xlsStream, InputType type, RuleSheetListener listener)
      Generates DRL from the input stream containing the spreadsheet.
      Parameters:
      xlsStream - The stream to the spreadsheet. Uses the first worksheet found for the decision tables, ignores others.
      type - The type of the file - InputType.CSV or InputType.XLS
      listener -
      Returns:
      DRL xml, ready for use in drools.
    • compile

      public String compile(Resource resource, InputType type, RuleSheetListener listener)
    • listenerToString

      public String listenerToString(RuleSheetListener listener)
    • compile

      public String compile(String classPathResource, InputType inputType)
      Convenience implementation, taking rules from the classpath. It is recommended to use the stream version, as you can then change rules dynamically. (that is a lot of the benefit of rule engines !).
      Parameters:
      classPathResource - full class path to the spreadsheet you wish to convert to DRL. Uses the first worksheet for the decision tables.
      Returns:
      DRL.
    • compile

      public String compile(InputStream stream, String worksheetName)
      Looks for a named worksheet to find the decision tables on. Only works with XLS format spreadsheets (as they have multiple worksheets).
      Parameters:
      stream - The stream of the decision tables (spreadsheet) IN XLS format !!
      worksheetName - The name of the worksheet that the decision tables live on.
      Returns:
      DRL, ready to go.
    • compile

      public String compile(Resource resource, String worksheetName)