Go to main content
1/11
Contents
List of Tables
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Conventions in Text
RL Language Backus-Naur Form Grammar Rules
What's New in This Guide
1
Rules Programming Concepts
1.1
Starting the Oracle Business Rules RL Language Command-Line
1.2
Introducing Rules and Rulesets
1.2.1
Rule Conditions
1.2.2
Rule Actions
1.3
Introducing Facts and RL Language Classes
1.3.1
What Are Facts?
1.3.2
Adding Facts to Working Memory with Assert
1.3.3
Using RL Language Classes as Facts
1.3.4
Using Java Classes as Facts
1.4
Understanding and Controlling Rule Firing
1.4.1
Rule Activation and the Agenda
1.4.2
Watching Facts, Rules, and Rule Activations
1.4.2.1
Watching and Showing Facts in Working Memory
1.4.2.2
Watching Activations and Rule Firing
1.4.3
Ordering Rule Firing
1.4.3.1
Ordering Rule Firing
1.5
Using Effective Dates
1.6
Integrating RL Language Programs with Java Programs
1.6.1
Using Java Beans Asserted as Facts
1.6.1.1
Sample RL Language Program
1.6.1.2
Working with Java Beans as Facts
1.6.2
Using RuleSession Objects in Java Applications
1.7
Building a Coin Counter Rules Program
2
Rules Engine Algorithms
2.1
Overview
2.1.1
Differences between Rete and NRE Algorithm
2.2
Configuring the Non-Rete Algorithm
3
Rule Language Reference
3.1
Ruleset
3.2
Types
3.3
Identifiers
3.4
Literals
3.5
Definitions
3.5.1
Variable Definitions
3.5.1.1
Global Variables
3.5.2
Rule Definitions
3.5.3
Class Definitions
3.5.3.1
xpath Support
3.5.4
Function Definitions
3.6
Fact Class Declarations
3.7
Import Statement
3.8
Include Statement
3.9
Using Expressions
3.9.1
Boolean Expressions
3.9.2
Numeric Expressions
3.9.3
String Expressions
3.9.4
Array Expressions
3.9.5
Fact Set Expressions
3.9.6
Comparable Expression
3.9.7
Object Expressions
3.9.8
Primary Expressions
3.9.8.1
new
3.10
Actions and Action Blocks
3.10.1
If Else Action Block
3.10.2
While Action Block
3.10.3
For Action Block
3.10.4
Try Catch Finally Action Block
3.10.5
Synchronized Action Block
3.10.6
Modify Action
3.10.7
Return Action
3.10.8
Throw Action
3.10.9
Assign Action
3.10.10
Increment or Decrement Expressions
3.10.11
Primary Actions
3.11
Rulegroup
3.12
Built-in Functions
3.12.1
assert
3.12.2
assertTree
3.12.3
assertXPath
3.12.4
clearRule
3.12.5
clearRulesetStack
3.12.6
clearWatchRules, clearWatchActivations, clearWatchFacts, clearWatchFocus, clearWatchCompilations, clearWatchAll
3.12.7
contains
3.12.8
getCurrentDate
3.12.9
getDecisionTrace
3.12.10
getDecisionTraceLevel
3.12.11
getDecisionTraceLimit
3.12.12
getEffectiveDate
3.12.13
getFactByType
3.12.14
getFactsByType
3.12.15
getRulesetStack
3.12.16
getRuleSession
3.12.17
getStrategy
3.12.18
halt
3.12.19
id
3.12.20
isErrorInRuleConditionSuppressed
3.12.21
isRulesetsOnStackOnce
3.12.22
object
3.12.23
println
3.12.24
popRuleset
3.12.25
pushRuleset
3.12.26
retract
3.12.27
reset
3.12.28
run
3.12.29
runUntilHalt
3.12.30
setCurrentDate
3.12.31
setDecisionTraceLevel
3.12.32
setDecisionTraceLimit
3.12.33
setEffectiveDate
3.12.34
setErrorInRuleConditionSuppressed
3.12.35
setRulesetStack
3.12.36
setRulesetsOnStack
3.12.37
setStrategy
3.12.38
showActivations
3.12.39
showFacts
3.12.40
step
3.12.41
watchRules, watchActivations, watchFacts, watchFocus, watchCompilations
4
Using the Command-line Interface
4.1
Starting and Using the Command-Line Interface
4.1.1
Using Command-Line Input Processing
4.2
RL Command-Line Options
4.3
RL Command-Line Built-in Commands
4.3.1
Clear Command
4.3.2
Exit Command
5
Using a RuleSession
5.1
RuleSession Constructor Properties
5.2
RuleSession Methods
5.3
RL to Java Type Conversion
5.4
Error Handling
5.5
RL Class Reflection
5.6
Obtaining Results from a Rule Enabled Program
5.6.1
Overview of Results Examples
5.6.2
Using External Resources to Obtain Results
5.7
Debugging an RL Stacktrace
5.8
Using RuleSession Pooling
5.8.1
How to Create a RuleSession Pool
5.8.2
How to Use a RuleSession Pool
5.9
Using RuleSession Options
5.9.1
Using the CFG_LOGGING System Property
5.9.2
Using the CFG_DECISION_TRACE_LEVEL Option
5.9.3
Using the CFG_DECISION_TRACE_LIMIT Option
5.10
Using Decision Tracing
5.10.1
Introduction to Rule Engine Level Decision Tracing
5.10.2
Using Rule Engine Level Decision Tracing
5.10.2.1
Setting Decision Trace Level
5.10.3
Decision Trace Samples for Production and Development Level Tracing
5.10.4
Sample Development Level DecisonTrace
A
Summary of Java and RL Differences
A.1
RL Differences from Java
Scripting on this page enhances content navigation, but does not change the content in any way.