Modifying the data in the working memory
In the previous chapters, we've already seen the basic structure for a business rule: conditions and actions. When a specific set of conditions defined in a rule are met, we trigger specific actions defined in that rule. So far, these actions have only been basic modifications of Java beans or system logs. However, the Drools rule language allows us to do much more.
When a rule becomes too complex or it comprises of multiple complex conditions, defining them in one single rule might not be the best way to go. In imperative programming (such as Java and C++), we would break down a method or function, which is complex, into many smaller, simpler methods. In Drools, we should follow a similar structure defining multiple, simpler rules that work together.
Due to the nature of declarative programming that the DRL language follows, we cannot call one rule from another one, therefore, this splitting has to be done differently. To be able to split our rules...