Conversion Processing

Each evidence type may map to a number of target rule classes, according to the configurations for the Active Evidence Row Rule Object Converter held on the system. However, for the sake of clarity, the rest of this section describes the behavior of the Active Evidence Row Rule Object Converter in the situation where an evidence type is mapped to a single rule class only.

When an Active Evidence Row Rule Object is requested during a CER calculation, the Active Evidence Row Rule Object Converter is invoked to populate that rule object. The Active Evidence Row Rule Object Converter will retrieve the active row for the evidence's correction set and use it populate the attribute values on the rule object.

The values of the evidence fields are used to map to identically-named rule attributes on the rule object. Any evidence field without a corresponding rule attribute is ignored. Evidence fields are defined by:

Population of relationships to rule objects for other evidence rows

When a row of active evidence is converted to a rule object, then any rule attributes which are annotated with relatedEvidence will be automatically populated with rule objects for related evidence versions:

The type of the related evidence is identified from the type of the attribute, which can either be a rule class (extending ActiveEvidenceRow) or a list of such rule classes. The behavior of the Active Evidence Row Rule Object Converter differs according to whether a list is used:

Table 1. Propagation of related ActiveEvidenceRow rule objects
Number of related versions found Value populated when attribute type is a rule class Value populated when attribute type is a List<rule class>
0 null Empty list
1 The rule object for the related instance found A list with a single item (the rule object for the related instance found)
many (An exception is thrown at propagation time) A list with the rule objects for all the related instances found
Important: Remember that the related ActiveEvidenceRow rule objects are each a version of evidence.

Even if a real-world child object can only have one real-world parent, if that parent has data that changes over time, then each child version may relate to many parent versions.

For a rule attribute that holds related parent or child rule objects, you should model that rule attribute as a list of rule classes, unless you can guarantee that there will only ever be one active version of the related parent/child evidence (which would generally only be the case if the related evidence type does not store data which can undergo a change of circumstances).

Rule attributes inherited from ActiveEvidenceRow

Each rule class targeted by the Active Evidence Row Rule Object Converter must ultimately extend the PropagatorRuleSet.ActiveEvidenceRow rule class, and so will inherit the following rule attributes:

Handling of in-edit evidence changes

In general, the Active Evidence Row Rule Object Converter ignores in-edit pending changes to evidence.

However, during manual determinations using in-edit evidence, the Active Evidence Row Rule Object Converter supports a special processing mode to allow in-edit pending changes to be taken into account. See Temporary Access to In-Edit Evidence Changes for more details.