Comparing individual objects by using matchers
A few parts of PolicyCenter need specialized logic to determine whether two objects represent exactly the same thing. For example:
- The policy difference page, such as for a policy change job, comparing a policy to the original. This page supports other comparisons, such as for side-by-side quoting for multiple draft revision jobs.
- Out-of-sequence job handling.
- Preemption job handling.
To determine whether two objects represent the same real-world item, PolicyCenter uses matcher classes. For example, to compare two cars, you might compare their unique vehicle identification numbers (VINs). If the VINs match, the objects represent the same car, regardless of other properties on the car objects that have different values.
The following types of classes for matching objects are available in PolicyCenter.
- Delegate-based matching classes
PCBeanMatcher, which is an older type of matching class
The PCBeanMatcher class provides the base comparison of the Id property for
all entity types. For effective-dated subobjects in a PolicyPeriod graph, the base comparison in
the PCBeanMatcher class also compares the FixedID property of the objects. If
the properties that the base comparison checks are the same for both objects, the PCBeanMatcher
class performs additional tests. In most cases, a delegate-based matching class performs the additional tests. For
a very few entity types, the PCBeanMatcher class performs the tests.
