C) ProductEligibilityEntitlementRuleSet AbstractCase rule class

The Engine creates an Abstract Case rule object in memory for each Product Period rule object stored in memory. The AbstractCase rule class acts as the interface between the fixed eligibility/entitlement processing provided by the Engine, and the product-specific rules for the calculation of eligibility and entitlement results.

This "interface" rule class ensures that concrete sub-rule-classes have implementations for the following calculated rule attributes, which provide the fixed-structure eligibility and entitlement results required by the Engine:

The Engine-supplied interface rule set has no implementations for these attributes - rule classes must be written (see below) to provide implementations for the business requirements of the product; rather the interface rule class allows the Engine to communicate with the rule classes by specifying a contract for the data structures that it requires.