Skip to navigation Skip to main content

Utilities

  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
Red Hat Customer Portal
  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
  • Products & Services

    Products

    Support

    • Production Support
    • Development Support
    • Product Life Cycles

    Services

    • Consulting
    • Technical Account Management
    • Training & Certifications

    Documentation

    • Red Hat Enterprise Linux
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenStack Platform
    • Red Hat OpenShift Container Platform
    All Documentation

    Ecosystem Catalog

    • Red Hat Partner Ecosystem
    • Partner Resources
  • Tools

    Tools

    • Troubleshoot a product issue
    • Packages
    • Errata

    Customer Portal Labs

    • Configuration
    • Deployment
    • Security
    • Troubleshoot
    All labs

    Red Hat Insights

    Increase visibility into IT operations to detect and resolve technical issues before they impact your business.

    Learn More
    Go to Insights
  • Security

    Red Hat Product Security Center

    Engage with our Red Hat Product Security team, access security updates, and ensure your environments are not exposed to any known security vulnerabilities.

    Product Security Center

    Security Updates

    • Security Advisories
    • Red Hat CVE Database
    • Security Labs

    Keep your systems secure with Red Hat's specialized responses to security vulnerabilities.

    View Responses

    Resources

    • Security Blog
    • Security Measurement
    • Severity Ratings
    • Backporting Policies
    • Product Signing (GPG) Keys
  • Community

    Customer Portal Community

    • Discussions
    • Private Groups
    Community Activity

    Customer Events

    • Red Hat Convergence
    • Red Hat Summit

    Stories

    • Red Hat Subscription Value
    • You Asked. We Acted.
    • Open Source Communities
Or troubleshoot an issue.

Select Your Language

  • English
  • 한국어
  • 日本語
  • 中文 (中国)

Infrastructure and Management

  • Red Hat Enterprise Linux
  • Red Hat Satellite
  • Red Hat Subscription Management
  • Red Hat Insights
  • Red Hat Ansible Automation Platform

Cloud Computing

  • Red Hat OpenShift
  • Red Hat OpenStack Platform
  • Red Hat OpenShift Container Platform
  • Red Hat OpenShift Data Science
  • Red Hat OpenShift Dedicated
  • Red Hat Advanced Cluster Security for Kubernetes
  • Red Hat Advanced Cluster Management for Kubernetes
  • Red Hat Quay
  • OpenShift Dev Spaces
  • Red Hat OpenShift Service on AWS

Storage

  • Red Hat Gluster Storage
  • Red Hat Hyperconverged Infrastructure
  • Red Hat Ceph Storage
  • Red Hat OpenShift Data Foundation

Runtimes

  • Red Hat Runtimes
  • Red Hat JBoss Enterprise Application Platform
  • Red Hat Data Grid
  • Red Hat JBoss Web Server
  • Red Hat Single Sign On
  • Red Hat support for Spring Boot
  • Red Hat build of Node.js
  • Red Hat build of Quarkus

Integration and Automation

  • Red Hat Application Foundations
  • Red Hat Fuse
  • Red Hat AMQ
  • Red Hat 3scale API Management
All Products

Table of contents

  1. JBoss Rules 5 Reference Guide
  2. Preface
  3. 1. Introduction
    1. 1.1. Intended Audience
    2. 1.2. Aim of the Guide
  4. 2. Key Terminology
    1. 2.1. The Basics
      1. 2.1.1. JBoss Rules
      2. 2.1.2. The JBoss Rules Engine
      3. 2.1.3. Expert Systems
      4. 2.1.4. Production Rules
      5. 2.1.5. The Inference Engine
      6. 2.1.6. Production Memory
      7. 2.1.7. Working Memory
      8. 2.1.8. Conflict Resolution Strategy
      9. 2.1.9. Hybrid Rule Systems
      10. 2.1.10. Forward-Chaining
      11. 2.1.11. Backward-Chaining
      12. 2.1.12. Reasoning Capabilities
    2. 2.2. Rete Algorithm
      1. 2.2.1. The Rete Root Node
      2. 2.2.2. The ObjectTypeNode
      3. 2.2.3. AlphaNodes
      4. 2.2.4. Hashing
      5. 2.2.5. BetaNodes
      6. 2.2.6. Alpha Memory
      7. 2.2.7. Beta Memory
      8. 2.2.8. Lookups with BetaNodes
      9. 2.2.9. LeftInputNodeAdapters
      10. 2.2.10. Terminal Nodes
      11. 2.2.11. Node Sharing
      12. 2.2.12. Node Sharing Example
    3. 2.3. Strong and Loose Coupling
      1. 2.3.1. Loose Coupling
      2. 2.3.2. Strong Coupling
    4. 2.4. Advantages of a Rule Engine
      1. 2.4.1. Declarative Programming
      2. 2.4.2. Logic and Data Separation
      3. 2.4.3. Knowledge Base
  5. 3. Quick Start
    1. 3.1. Rule Basics
      1. 3.1.1. Stateless Knowledge Sessions
      2. 3.1.2. Configuring Rules in a Stateless Session
      3. 3.1.3. Configuring Rules with Multiple Objects
      4. 3.1.4. Stateful Sessions
      5. 3.1.5. Common Use Cases for Stateful Sessions
      6. 3.1.6. Stateful Session Monitoring Example
      7. 3.1.7. First Order Logic
      8. 3.1.8. Configuring Rules with First Order Logic
      9. 3.1.9. Rule System Sample Configuration
    2. 3.2. JBoss Rules Theory
      1. 3.2.1. Methods in JBoss Rules
      2. 3.2.2. Method Example
      3. 3.2.3. Rule Example
      4. 3.2.4. Cross-Products
      5. 3.2.5. Cross-Product Constraining
      6. 3.2.6. The Inference Engine
      7. 3.2.7. Inference Example
    3. 3.3. Advanced Concepts and Theory
      1. 3.3.1. Logical Assertions
      2. 3.3.2. Stated Insertions
      3. 3.3.3. Justified Insertions
      4. 3.3.4. The WM_BEHAVIOR_PRESERVE Setting
      5. 3.3.5. Stated Insertion Flowchart
      6. 3.3.6. Logical Insertion Flowchart
      7. 3.3.7. The Truth Maintenance System
      8. 3.3.8. The insertLogical Fact
      9. 3.3.9. Using Inference and TMS
  6. 4. Processing
    1. 4.1. Agenda
    2. 4.2. Agenda Processing
    3. 4.3. Default Conflict Resolution Strategies
    4. 4.4. AgendaGroup
    5. 4.5. setFocus()
    6. 4.6. setFocus() Example
    7. 4.7. ActivationGroup
    8. 4.8. ActivationGroup Example
    9. 4.9. RuleFlowGroup
    10. 4.10. RuleFlowGroup Example
    11. 4.11. The Difference Between Rules and Methods
    12. 4.12. Cross Product Example
    13. 4.13. Activations, Agenda and Conflict Sets Example
    14. 4.14. Conflict Resolver Strategy
    15. 4.15. Conflict Resolver Strategy Example
    16. 4.16. Trigger Example
    17. 4.17. ruleflow-group Example
    18. 4.18. Inference Example
    19. 4.19. Implementing Inference and TruthMaintenance
  7. 5. The Rule Language
    1. 5.1. Rule Language
      1. 5.1.1. Overview
      2. 5.1.2. A rule file
      3. 5.1.3. The structure of a rule file
      4. 5.1.4. What is a rule
      5. 5.1.5. Hard Keywords
      6. 5.1.6. Soft Keywords
      7. 5.1.7. List of Soft Keywords
      8. 5.1.8. Comments
      9. 5.1.9. Single Line Comment Example
      10. 5.1.10. Multi-Line Comment Example
      11. 5.1.11. Error Messages
      12. 5.1.12. Error Message Format
      13. 5.1.13. Error Messages Description
      14. 5.1.14. Package
      15. 5.1.15. Import Statements
      16. 5.1.16. Using Globals
      17. 5.1.17. The From Element
      18. 5.1.18. Using Globals with an e-Mail Service
    2. 5.2. KnowledgeBuilder
      1. 5.2.1. The KnowledgeBuilder
      2. 5.2.2. The ResourceFactory
      3. 5.2.3. Creating a new KnowledgeBuilder
      4. 5.2.4. Adding DRL Resources
      5. 5.2.5. KnowledgeBuilder Result Inspection Methods
      6. 5.2.6. Getting the KnowledgePackages
      7. 5.2.7. Extended KnowledgeBuilder Example
      8. 5.2.8. Using KnowledgeBuilder in Batch Mode
      9. 5.2.9. Discard the Build of the Last Added DRL
    3. 5.3. ChangeSets
      1. 5.3.1. Changesets
      2. 5.3.2. Changeset Example
      3. 5.3.3. Extended Changeset Example
      4. 5.3.4. Changesets and Directories Example
      5. 5.3.5. Building Using Configuration and the ChangeSet XML
      6. 5.3.6. ChangeSet XML Example
      7. 5.3.7. ChangeSet Protocols
      8. 5.3.8. Loading the ChangeSet XML
      9. 5.3.9. ChangeSet XML with Resource Configuration Example
      10. 5.3.10. ChangeSet XML and Directories
  8. 6. Building
    1. 6.1. Result Severity
      1. 6.1.1. Build Result Severity
      2. 6.1.2. Setting the Default Build Result Severity
    2. 6.2. Building and Deploying
      1. 6.2.1. KnowledgePackage
      2. 6.2.2. Creating a new KnowledgeBase
      3. 6.2.3. Add KnowledgePackages to a KnowledgeBase
      4. 6.2.4. Building and Deployment in Separate Processes
      5. 6.2.5. Writing the KnowledgePackage to an OutputStream
      6. 6.2.6. Reading the KnowledgePackage from an InputStream
      7. 6.2.7. StatefulknowledgeSessions and KnowledgeBase Modifications
    3. 6.3. The Knowledge Agent
      1. 6.3.1. Knowledge Agent
      2. 6.3.2. KnowledgeAgent Objects
      3. 6.3.3. Writing the KnowledgePackage to an OutputStream
      4. 6.3.4. ClassLoaders
      5. 6.3.5. newInstance
      6. 6.3.6. Resource Scanning
      7. 6.3.7. Knowledge Bases and applyChangeSet()
      8. 6.3.8. Resource Caching
  9. 7. Sessions
    1. 7.1. Sessions in JBoss Rules
    2. 7.2. Create a StatefulKnowledgeSession From a KnowledgeBase
    3. 7.3. KnowledgeRuntime
      1. 7.3.1. The WorkingMemoryEntryPoint Method
      2. 7.3.2. The KnowledgeRuntime Interface
      3. 7.3.3. Fact Insertion
      4. 7.3.4. The FactHandle Token
      5. 7.3.5. Identity and Equality
      6. 7.3.6. Retraction
      7. 7.3.7. The update() Method
    4. 7.4. Working Memory
      1. 7.4.1. Queries
      2. 7.4.2. Live Queries
      3. 7.4.3. ViewChangedEventListener Implementation Example
    5. 7.5. KnowledgeRuntime
  10. 8. Objects and Interfaces
    1. 8.1. Globals
    2. 8.2. Working With Globals
    3. 8.3. Resolving Globals
    4. 8.4. Session Scoped Global Example
    5. 8.5. StatefulRuleSessions
    6. 8.6. AgendaFilter Objects
    7. 8.7. Using the AgendaFilter
    8. 8.8. Rule Engine Phases
    9. 8.9. The Event Model
    10. 8.10. The KnowlegeRuntimeEventManager
    11. 8.11. The WorkingMemoryEventManager
    12. 8.12. Adding an AgendaEventListener
    13. 8.13. Printing Working Memory Events
    14. 8.14. KnowlegeRuntimeEvents
    15. 8.15. Supported Events for the KnowledgeRuntimeEvent Interface
    16. 8.16. The KnowledgeRuntimeLogger
    17. 8.17. Enabling a FileLogger
    18. 8.18. Using StatelessKnowledgeSession in JBoss Rules
    19. 8.19. Performing a StatelessKnowledgeSession Execution with a Collection
    20. 8.20. Performing a StatelessKnowledgeSession Execution with the InsertElements Command
    21. 8.21. The BatchExecutionHelper
    22. 8.22. The CommandExecutor Interface
    23. 8.23. Out Identifiers
  11. 9. Modes and Methods
    1. 9.1. Sequential Mode
    2. 9.2. Sequential Mode Options
    3. 9.3. Activating Sequential Mode
    4. 9.4. The CommandFactory
    5. 9.5. Supported CommandFactory Options
    6. 9.6. The Insert Command
    7. 9.7. Insert Command Example
    8. 9.8. The Execute Method
    9. 9.9. Execute Method Example
    10. 9.10. The BatchExecution Command
    11. 9.11. The FireAllRules Command
    12. 9.12. Out Identifiers
    13. 9.13. Out Identifier Example
    14. 9.14. Execution XML Examples
    15. 9.15. Execution Marshalling Examples
    16. 9.16. Batch-execution and Command Examples
    17. 9.17. The MarshallerFactory
    18. 9.18. Marshaller Example
    19. 9.19. Marshalling Options
    20. 9.20. IdentityMarshallingStrategy Example
    21. 9.21. The ObjectMarshallingStrategyAcceptor
    22. 9.22. The ClassFilterAcceptor Implementation
    23. 9.23. IdentityMarshallingStrategy with Acceptor Example
    24. 9.24. Persistence and Transactions in JBoss Rules
    25. 9.25. Transaction Example
    26. 9.26. Using a JPA
    27. 9.27. Loading a StatefulKnowledgeSession with JPA
    28. 9.28. Configuring JPA
    29. 9.29. Configuring JTA DataSource
    30. 9.30. JNDI Properties
    31. 9.31. KnowledgeBase Namespaces
  12. 10. Functions
    1. 10.1. Functions
    2. 10.2. Function Declaration Example
    3. 10.3. Function Declaration with Static Method Example
    4. 10.4. Calling a Function Declaration Example
    5. 10.5. Type Declarations
    6. 10.6. Type Declaration Roles
    7. 10.7. Declaring New Types
    8. 10.8. Declaring a New Fact Type Example
    9. 10.9. Declaring a New Fact Type Additional Example
    10. 10.10. Using Import Example
    11. 10.11. Generated Java Classes
    12. 10.12. Generated Java Class Example
    13. 10.13. Using the Declared Types in Rules Example
    14. 10.14. Declaring Metadata
    15. 10.15. Working with Metadata Attributes
    16. 10.16. Declaring a Metadata Attribute with Fact Types Example
    17. 10.17. The @position Attribute
    18. 10.18. @position Example
    19. 10.19. Predefined Class Level Annotations
    20. 10.20. @key Attribute Functions
    21. 10.21. @key Declaration Example
    22. 10.22. Creating an Instance with the Key Constructor Example
    23. 10.23. Positional Arguments
    24. 10.24. Positional Argument Example
    25. 10.25. The @Position Annotation
    26. 10.26. Example Patterns
  13. 11. Additional Declarations
    1. 11.1. Declaring Metadata for Existing Types
    2. 11.2. Declaring Metadata for Existing Types Example
    3. 11.3. Declaring Metadata Using a Fully Qualified Class Name Example
    4. 11.4. Parametrized Constructors for Declared Types Example
    5. 11.5. Non-Typesafe Classes
    6. 11.6. Accessing Declared Types from the Application Code
    7. 11.7. Declaring a Type
    8. 11.8. Handling Declared Fact Types Through the API Example
    9. 11.9. Type Declaration Extends
    10. 11.10. Type Declaration Extends Example
    11. 11.11. Traits
    12. 11.12. Traits Example
    13. 11.13. Core Objects and Traits
    14. 11.14. @Traitable Example
    15. 11.15. Writing Rules with Traits
    16. 11.16. Rules with Traits Example
    17. 11.17. Hidden Fields
    18. 11.18. The Two-Part Proxy
    19. 11.19. Wrappers
    20. 11.20. Wrapper Example
    21. 11.21. Wrapper with isA Annotation Example
    22. 11.22. Removing Traits
    23. 11.23. Rule Syntax Example
    24. 11.24. Rule Attributes
    25. 11.25. Rule Attribute Example
    26. 11.26. Timer Attribute Example
    27. 11.27. Timers
    28. 11.28. Cron Timer Example
    29. 11.29. Calendars
    30. 11.30. Quartz Calendar Example
    31. 11.31. Registering a Calendar
    32. 11.32. Left Hand Side
    33. 11.33. Conditional Elements
    34. 11.34. Rule Without a Conditional Element Example
  14. 12. Patterns
    1. 12.1. Patterns
    2. 12.2. Pattern Example
    3. 12.3. Pattern Matching
    4. 12.4. Pattern Binding
    5. 12.5. Pattern Binding with Variable Example
    6. 12.6. Constraints
  15. 13. Elements and Variables
    1. 13.1. Property Access on Java Beans (POJOs)
    2. 13.2. POJO Example
    3. 13.3. Working with POJOs
    4. 13.4. POJO Fallbacks
    5. 13.5. Fallback Example
    6. 13.6. Java Expressions
    7. 13.7. Comma-Separated Operators
    8. 13.8. Comma-Separated Operator Example
    9. 13.9. Binding Variables
    10. 13.10. Binding Variable Examples
    11. 13.11. Unification
    12. 13.12. Unification Example
    13. 13.13. Options and Operators in JBoss Rules
    14. 13.14. Operator Precedence
    15. 13.15. Fine Grained Property Change Listeners
    16. 13.16. Fine Grained Property Change Listener Example
    17. 13.17. Working with Fine Grained Property Change Listeners
    18. 13.18. Using Patterns with @watch
    19. 13.19. @watch Example
    20. 13.20. Using @PropertySpecificOption
    21. 13.21. Basic Conditional Elements
    22. 13.22. The Conditional Element Forall
    23. 13.23. Forall Examples
    24. 13.24. The Conditional Element From
    25. 13.25. From Examples
    26. 13.26. The Conditional Element Collect
    27. 13.27. The Conditional Element Accumulate
    28. 13.28. Syntax for the Conditional Element Accumulate
    29. 13.29. Functions of the Conditional Element Accumulate
    30. 13.30. The Conditional Element accumulate and Pluggability
    31. 13.31. The Conditional Element accumulate and Pluggability Example
    32. 13.32. Code for the Conditional Element Accumulate's Functions
    33. 13.33. Accumulate with Inline Custom Code
    34. 13.34. Accumulate with Inline Custom Code Examples
    35. 13.35. Conditional Element Eval
    36. 13.36. Conditional Element Eval Examples
    37. 13.37. The Right Hand Side
    38. 13.38. RHS Convenience Methods
    39. 13.39. Convenience Methods using the Drools Variable
    40. 13.40. Convenience Methods using the Kcontext Variable
    41. 13.41. The Modify Statement
    42. 13.42. Query Examples
    43. 13.43. QueryResults Example
    44. 13.44. Queries Calling Other Queries
    45. 13.45. Queries Calling Other Queries Example
    46. 13.46. Unification for Derivation Queries
  16. 14. Domain Specific Languages (DSLs)
    1. 14.1. Domain Specific Languages
    2. 14.2. Using DSLs
    3. 14.3. DSL Example
    4. 14.4. How the DSL Parser Works
    5. 14.5. The DSL Compiler
    6. 14.6. DSL Syntax Examples
    7. 14.7. Chaining DSL Expressions
    8. 14.8. Adding Constraints to Facts
    9. 14.9. Tips for Developing DSLs
    10. 14.10. DSL and DSLR Reference
    11. 14.11. The Make Up of a DSL Entry
    12. 14.12. Debug Options for DSL Expansion
    13. 14.13. DSL Definition Example
    14. 14.14. Transformation of a DSLR File
    15. 14.15. String Transformation Functions
    16. 14.16. Stringing DSL Transformation Functions
  17. 15. XML
    1. 15.1. The XML Format
    2. 15.2. XML Rule Example
    3. 15.3. XML Elements
    4. 15.4. Detail of a Rule Element
    5. 15.5. XML Rule Elements
    6. 15.6. Automatic Transforming Between XML and DRL
    7. 15.7. Classes for Automatic Transforming Between XML and DRL
  18. 16. Decision Tables
    1. 16.1. Decision Tables
    2. 16.2. Decision Tables in Spreadsheets
    3. 16.3. Open Office Example
    4. 16.4. Rules and Spreadsheets
    5. 16.5. The RuleTable Keyword
    6. 16.6. The RuleSet Keyword
    7. 16.7. Rule Template Example
    8. 16.8. Data-Defining Cells
    9. 16.9. Rule Table Columns
    10. 16.10. Rule Set Entries
    11. 16.11. Entries in the Rule Set Area
    12. 16.12. Rule Attribute Entries in the Rule Set Area
    13. 16.13. The RuleTable Cell
    14. 16.14. Column Types
    15. 16.15. Column Headers in the Rule Table
    16. 16.16. Conditional Elements
    17. 16.17. Action Statements
    18. 16.18. Metadata Statements
    19. 16.19. Interpolating Cell Data Example
    20. 16.20. Tips for Working Within Cells
    21. 16.21. The SpreadsheetCompiler Class
    22. 16.22. Using Spreadsheet-Based Decision Tables
    23. 16.23. Lists
    24. 16.24. Revision Control
    25. 16.25. Tabular Data Sources
  19. 17. The Java Rule Engine Application Programming Interface
    1. 17.1. JSR94
    2. 17.2. Javax.rules Interfaces
    3. 17.3. Javax.rules Classes
    4. 17.4. Javax.rules Exceptions
    5. 17.5. Using a Rule Service Provider
    6. 17.6. Javax.rules.admin Interfaces
    7. 17.7. Javax.rules.admin Exceptions
    8. 17.8. The RuleServiceProvider
    9. 17.9. The RuleServiceProviderManager
    10. 17.10. Automatic RuleServiceProvider Registration Example
    11. 17.11. Registering a LocalRuleExecutionSet with the RuleAdministrator API
    12. 17.12. Using Stateful and Stateless RuleSessions
    13. 17.13. Using Globals with JSR94
    14. 17.14. Using Globals with JSR94 Example
    15. 17.15. Further Reading About JSR94
  20. 18. JBoss Developer Studio
    1. 18.1. The Rules Integrated Development Environment (IDE)
    2. 18.2. Rules IDE Features
    3. 18.3. JBoss Rules Runtimes
    4. 18.4. Defining a JBoss Rules Runtime
    5. 18.5. Selecting a Runtime for JBoss Rules Projects
    6. 18.6. Example Rule Files
    7. 18.7. The JBoss Rules Builder
    8. 18.8. Creating a New Rule
    9. 18.9. The Rule Editor
    10. 18.10. JBoss Rules Views
    11. 18.11. Using JBoss Rules Views
    12. 18.12. The Show Logical Structure
    13. 18.13. Creating Audit Logs
    14. 18.14. Event Icons in Audit View
    15. 18.15. Methods for Retrieving Causes
    16. 18.16. The DSL Editor
    17. 18.17. Rule Language Mapping
    18. 18.18. Working with Rule Language Mapping
    19. 18.19. DSL Translation Components
    20. 18.20. Tips for Working with Large DRL Files
    21. 18.21. Creating Breakpoints
    22. 18.22. Debugging as a JBoss Rules Application
    23. 18.23. Rules IDE Preferences
  21. 19. Hello World Example
    1. 19.1. HelloWorld Example: Creating the KnowledgeBase and Session
    2. 19.2. HelloWorld Example: Event Logging and Auditing
    3. 19.3. HelloWorld Example: Message Class
    4. 19.4. HelloWorld Example: Execution
    5. 19.5. HelloWorld Example: System.out in the Console Window
    6. 19.6. HelloWorld Example: Rule "Hello World"
    7. 19.7. HelloWorld Example: Using the "Debug as..." Option
    8. 19.8. HelloWorld Example: Rule "Good Bye"
  22. 20. Salience State Example
    1. 20.1. Salience State Example: State Class Example
    2. 20.2. Salience State Example: Execution
    3. 20.3. Salience State Example: Executing Applications
    4. 20.4. Salience State Example: Using Audit Logging with Operations
    5. 20.5. Salience State Example: Rule "Bootstrap"
    6. 20.6. Salience State Example: Rule "B to C"
    7. 20.7. Salience State Example: Rule "B to D"
    8. 20.8. Salience State Example: Inserting a Dynamic Fact
    9. 20.9. Salience State Example: Setter with PropertyChangeSupport
    10. 20.10. Salience State Example: Agenda Group Rules "B to C"
    11. 20.11. Salience State Example: Agenda Group Rules "B to D"
    12. 20.12. Salience State Example: Agenda Group Rules "D to E"
  23. 21. Fibonacci Example
    1. 21.1. Fibonacci Example: The Class
    2. 21.2. Fibonacci Example: Execution
    3. 21.3. Fibonacci Example: Execution Details
    4. 21.4. Fibonacci Example: Recurse Rule
    5. 21.5. Fibonacci Example: Bootstrap Rule
    6. 21.6. Fibonacci Example: Calculate Rule
  24. 22. Banking Example
    1. 22.1. Banking Example: RuleRunner
    2. 22.2. Banking Example: Rule in Example1.drl
    3. 22.3. Banking Example: Java Example 2
    4. 22.4. Banking Example: Rule in Example2.drl
    5. 22.5. Banking Example: Example3.java
    6. 22.6. Banking Example: Rule in Example3.drl
    7. 22.7. Banking Example: Class Cashflow
    8. 22.8. Banking Example: Example4.java
    9. 22.9. Banking Example: Class SimpleDate
    10. 22.10. Banking Example: Rule in Example4.drl
    11. 22.11. Banking Example: Class TypedCashflow
    12. 22.12. Banking Example: Example5.java
    13. 22.13. Banking Example: Class Account
    14. 22.14. Banking Example: Class AllocatedCashflow
    15. 22.15. Banking Example: Extending Example5.java
    16. 22.16. Banking Example: Rule in Example6.drl
  25. 23. Pricing Rule Example
    1. 23.1. Pricing Rule Example: Executing the Pricing Rule Example
    2. 23.2. Pricing Rule Example: Decision Table Configuration
    3. 23.3. Pricing Rule Example: Base Price Calculation Example
    4. 23.4. Pricing Rule Example: Discount Calculation Example
  26. 24. Pet Store Example
    1. 24.1. Pet Store Example
    2. 24.2. Pet Store Example: Creating the PetStore RuleBase in PetStore.main
    3. 24.3. Pet Store Example: Firing Rules from CheckoutCallBack.checkout()
    4. 24.4. Pet Store Example: Package, Imports, Globals and Dialect from PetStore.drl
    5. 24.5. Pet Store Example: Java Functions in the Rules Extracted from PetStore.drl
    6. 24.6. Pet Store Example: Putting Items Into Working Memory from PetStore.drl
    7. 24.7. Pet Store Example: Show Items in the GUI from PetStore.drl
    8. 24.8. Pet Store Example: Evaluate Agenda Group from PetStore.drl
    9. 24.9. Pet Store Example: Doing the Checkout Extract from PetStore.drl
    10. 24.10. Pet Store Example: Checkout Rules from PetStore.drl
    11. 24.11. Pet Store Example: Running PetStore.java
    12. 24.12. Pet Store Example: The Do Checkout Rule
  27. 25. Sudoku Example
    1. 25.1. Sudoku Example: Loading the Example
    2. 25.2. Sudoku Example: Debugging a Broken Example
    3. 25.3. Sudoku Example: Java Source and Rules
    4. 25.4. Sudoku Example: Cell Objects
    5. 25.5. Sudoku Example: Classes and Objects
    6. 25.6. Sudoku Example: Validate.drl
    7. 25.7. Sudoku Example: Sudoku.drl
  28. 26. Number Guess Example
    1. 26.1. Number Guess Example: Loading the Example
    2. 26.2. Number Guess Example: Starting the RuleFlow
    3. 26.3. Number Guess Example: Classes and Methods
    4. 26.4. Number Guess Example: Observing the RuleFlow
    5. 26.5. Number Guess Example: RuleFlow Nodes
    6. 26.6. Number Guess Example: Firing Rules at a Specific Point in NumberGuess.drl
    7. 26.7. Number Guess Example: Viewing RuleFlow Constraints
    8. 26.8. Number Guess Example: Console Output
  29. A. Revision History
  30. Legal Notice
  • Language:

    English
  • Language:

    English

Preface

  1. Previous
  2. Next
Red Hat

Quick Links

  • Downloads
  • Subscriptions
  • Support Cases
  • Customer Service
  • Product Documentation

Help

  • Contact Us
  • Customer Portal FAQ
  • Log-in Assistance

Site Info

  • Trust Red Hat
  • Browser Support Policy
  • Accessibility
  • Awards and Recognition
  • Colophon

Related Sites

  • redhat.com
  • developers.redhat.com
  • connect.redhat.com
  • cloud.redhat.com

About

  • Red Hat Subscription Value
  • About Red Hat
  • Red Hat Jobs
Copyright © 2023 Red Hat, Inc.
  • Privacy Statement
  • Terms of Use
  • All Policies and Guidelines
Red Hat Summit Red Hat Summit
Twitter