External Rule Objects

CER allows client code to ask questions of a rule object (and CER will execute rules to provide the answers to those questions).

However, for client code to ask a question of a rule object, that rule object must be known to both client code and CER; as such, the CER rule session must have at least one "bootstrap" rule object created or retrieved by client code. This client code could be test code or code which integrates CER with an application.

An external rule object is the starting point for the client code to ask questions; however, the answer to such a question might well provide a rule object or list of rule objects which were either created from rules or retrieved from other external rule objects.

Important: Once calculations have commenced, the RecalculationsProhibited strategy prevents the creation of any more rule objects which would invalidate any previously-calculated readall calculations.

To avoid such errors, you should structure your client code or tests so that the creation of all your test rule objects occurs before any calculations (i.e. before any execution of getValue).