C) Custom rule classes for key decision factors

When the Engine calculates key decision factors for a product period, the Engine first asks the product period which rule class should be used (which is recorded on the product period as part of setting up the product).

The rule class specified on the product period must ultimately extend from the ProductKeyDataRuleSet.AbstractCase interface rule class. For ease of upgrades, it is recommended that the rule class extends the DefaultProductKeyDataRuleSet.DefaultCase rule class which provides default implementations.

The rule class must provide an implementation of keyDataTimelines, which is where the bulk of the implementation effort for the key decision factor work will lie.