Drools API

The documentation concentrates upon the following key interfaces: org.drools.WorkingMemory org.drools.RuleBase org.drools.RuleBaseFactory org.drools.compiler.PackageBuilder org.drools.compiler.RuleBaseLoader org.drools.rule.Package These interfaces are fully intended to be exposed to application code.

See:
          Description

Runtime Core API
org.drools  
org.drools.rule Contains the binary representations of rule constructs, like Package (which the compiler produces), Rule, and Conditional Elements.

 

Compiler Core API
org.drools.compiler This is the main package to load rules.

 

Compiler Utilities
org.drools.lang This contains the parser and utilities for the native DRL format, for handling DRL source.
org.drools.xml This contains the parser and utilities for handling rules in XML format.

 

Runtime Utilities
org.drools.audit This is a utility for providing audit trails/explanations of rule actions.
org.drools.event Events provide all sorts of call backs to monitor the engine as it is running.
org.drools.visualize Some visual utilities for viewing RETE networks (can also use the plug in for this)

 

Decision Tables
org.drools.decisiontable This it a utility for using spreadsheets to manage rules.

 

Internal
org.drools.audit.event  
org.drools.base  
org.drools.base.evaluators  
org.drools.common  
org.drools.conflict  
org.drools.decisiontable.model  
org.drools.decisiontable.parser  
org.drools.decisiontable.parser.csv  
org.drools.decisiontable.parser.xls  
org.drools.lang.descr  
org.drools.lang.dsl  
org.drools.lang.dsl.template  
org.drools.leaps  
org.drools.leaps.conflict  
org.drools.leaps.util  
org.drools.reteoo  
org.drools.reteoo.beta  
org.drools.semantics.java  
org.drools.semantics.java.parser  
org.drools.spi  
org.drools.util  
org.drools.util.asm  
org.drools.util.concurrent.locks  

 

Drools API

The documentation concentrates upon the following key interfaces:

  • org.drools.WorkingMemory
  • org.drools.RuleBase
  • org.drools.RuleBaseFactory
  • org.drools.compiler.PackageBuilder
  • org.drools.compiler.RuleBaseLoader
  • org.drools.rule.Package
  • These interfaces are fully intended to be exposed to application code. Gernally speaking, PackageBuilder would be used to assemble binary rule Packages, which are what is used by the core engine (RuleBase, WorkingMemory).

    The other utility classes are optional, and you may or may not need to use them based on your specific needs.
    The Internal APIs are not intended for "normal" application code use, but from time to time, advanced uses may need to refer to or use this API directly.