Package org.drools.decisiontable
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 Summary
Fields Modifier and Type Field Description protected static org.slf4j.Loggerlogger
-
Constructor Summary
Constructors Constructor Description SpreadsheetCompiler()SpreadsheetCompiler(boolean trimCell)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringcompile(boolean showPackage, InputStream xlsStream, InputType type)Generates DRL from the input stream containing the spreadsheet.Stringcompile(InputStream stream, String worksheetName)Looks for a named worksheet to find the decision tables on.Stringcompile(InputStream xlsStream, InputType type)Generates DRL from the input stream containing the spreadsheet.Stringcompile(InputStream xlsStream, InputType type, RuleSheetListener listener)Generates DRL from the input stream containing the spreadsheet.Stringcompile(String classPathResource, InputType inputType)Convenience implementation, taking rules from the classpath.Stringcompile(org.kie.api.io.Resource resource, String worksheetName)Stringcompile(org.kie.api.io.Resource resource, InputType type)Stringcompile(org.kie.api.io.Resource resource, InputType type, RuleSheetListener listener)StringlistenerToString(RuleSheetListener listener)
-
-
-
Method Detail
-
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(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.XLSlistener-- Returns:
- DRL xml, ready for use in drools.
-
compile
public String compile(org.kie.api.io.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.
-
-