站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss RULES 3.0.6 API 英文版文档

PackageBuilder - JBoss RULES 3.0.6 API 英文版文档


org.drools.compiler
Class PackageBuilder

java.lang.Object
  extended by org.drools.compiler.PackageBuilder

public class PackageBuilder
extends java.lang.Object

This is the main compiler class for parsing and compiling rules and assembling or merging them into a binary Package instance. This can be done by merging into existing binary packages, or totally from source.


Nested Class Summary
static class PackageBuilder.ErrorHandler
          This is the super of the error handlers.
static class PackageBuilder.FunctionErrorHandler
           
static class PackageBuilder.MissingPackageNameException
           
static class PackageBuilder.RuleErrorHandler
           
static class PackageBuilder.RuleInvokerErrorHandler
          There isn't much point in reporting invoker errors, as they are no help.
 
Constructor Summary
PackageBuilder()
          Use this when package is starting from scratch.
PackageBuilder(Package pkg)
          This will allow you to merge rules into this pre existing package.
PackageBuilder(PackageBuilderConfiguration configuration)
           
PackageBuilder(Package pkg, PackageBuilderConfiguration configuration)
          This allows you to pass in a pre existing package, and a configuration (for instance to set the classloader).
 
Method Summary
 void addPackage(PackageDescr packageDescr)
          This adds a package from a Descr/AST This will also trigger a compile, if there are any generated classes to compile of course.
 void addPackageFromDrl(java.io.Reader reader)
          Load a rule package from DRL source.
 void addPackageFromDrl(java.io.Reader source, java.io.Reader dsl)
          Load a rule package from DRL source using the supplied DSL configuration.
 void addPackageFromXml(java.io.Reader reader)
          Load a rule package from XML source.
 void compileRule(RuleBuilder builder, Rule rule, RuleDescr ruleDescr)
          Deprecated. Do not use for compiling rules. Do a whole package at a time.
 DroolsError[] getErrors()
           
 Package getPackage()
           
 boolean hasErrors()
          This will return true if there were errors in the package building and compiling phase
 java.lang.String printErrors()
          This will pretty print the errors (from getErrors()) into lines.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PackageBuilder

public PackageBuilder()
Use this when package is starting from scratch.


PackageBuilder

public PackageBuilder(Package pkg)
This will allow you to merge rules into this pre existing package.


PackageBuilder

public PackageBuilder(PackageBuilderConfiguration configuration)

PackageBuilder

public PackageBuilder(Package pkg,
                      PackageBuilderConfiguration configuration)
This allows you to pass in a pre existing package, and a configuration (for instance to set the classloader).

Parameters:
pkg - A pre existing package (can be null if none exists)
configuration - Optional configuration for this builder.
Method Detail

addPackageFromDrl

public void addPackageFromDrl(java.io.Reader reader)
                       throws DroolsParserException,
                              java.io.IOException
Load a rule package from DRL source.

Parameters:
reader -
Throws:
DroolsParserException
java.io.IOException

addPackageFromXml

public void addPackageFromXml(java.io.Reader reader)
                       throws DroolsParserException,
                              java.io.IOException
Load a rule package from XML source.

Parameters:
reader -
Throws:
DroolsParserException
java.io.IOException

addPackageFromDrl

public void addPackageFromDrl(java.io.Reader source,
                              java.io.Reader dsl)
                       throws DroolsParserException,
                              java.io.IOException
Load a rule package from DRL source using the supplied DSL configuration.

Parameters:
source - The source of the rules.
dsl - The source of the domain specific language configuration.
Throws:
DroolsParserException
java.io.IOException

addPackage

public void addPackage(PackageDescr packageDescr)
This adds a package from a Descr/AST This will also trigger a compile, if there are any generated classes to compile of course.


compileRule

public void compileRule(RuleBuilder builder,
                        Rule rule,
                        RuleDescr ruleDescr)
Deprecated. Do not use for compiling rules. Do a whole package at a time.


getPackage

public Package getPackage()
Returns:
The compiled package. The package may contain errors, which you can report on by calling getErrors or printErrors. If you try to add an invalid package (or rule) to a RuleBase, you will get a runtime exception. Compiled packages are serializable.

hasErrors

public boolean hasErrors()
This will return true if there were errors in the package building and compiling phase


getErrors

public DroolsError[] getErrors()
Returns:
A list of Error objects that resulted from building and compiling the package.

printErrors

public java.lang.String printErrors()
This will pretty print the errors (from getErrors()) into lines.