Entity properties for foreign keys between effdated entities
The foreign key of an entity having the effdated type matches a different property on the entity to which the foreign key refers than most foreign keys. Most foreign keys refer to and match on the value of another object's ID property. By contrast, PolicyCenter compares the foreign key, the BranchValue property, and the SliceDate property of an effdated entity with four properties of a referenced entity. These four comparisons result in the source entity instance of the foreign key matching at most one target entity instance.
The target entity properties in the four comparisons are FixedID, BranchValue, EffectiveDate, and ExpirationDate. The comparisons for the FixedID and BranchValue properties on the source and target entities require exact matches. The comparison for the EffectiveDate property on the target entity requires the value of the SliceDate property on the source entity to be greater than or equal to the value of the EffectiveDate property on the target entity. The comparison for the ExpirationDate property requires the value of the SliceDate property to be less than the value of the ExpirationDate property.
PolicyCenter restricts effdated entity instances with the same FixedID and BranchValue property values from having overlapping effective date ranges or EffectiveDate and ExpirationDate pairs. As a result, through the sequence of property comparisons, the source entity instance of the foreign key will match no more than one target entity instance.
The following table provides information about these target entity properties as well as the SliceDate property for the source entity:
Property |
Type |
Meaning |
|---|---|---|
|
|
Identifies a single object across effective date periods, both:
This value must be non-null. |
|
|
Note: At the database layer, BranchValue is the
BranchID column.Foreign key to the entity instance that contains this entity instance. Within the same branch,
all entities must share the same From Gosu, the foreign key property appears as the |
|
|
|
Date the entity instance becomes effective. |
|
|
|
Date the entity instance expires or is no longer effective. |
| SliceDate | Date |
The slice date is the current view, or slice, of
the branch (and its entities) in effective time. If the slice date
is null, the branch is being viewed/edited in
window mode. Any edits made with the slice date set are made in that
effective time, splitting the entity instance if necessary. This is
a read-only property. To get this PolicyPeriod at
a different slice date, use the getAsOf
method.Note: PolicyCenter
never persists the slice date value itself in the database. The
slice date property exists as a special property on the
in-memory entity instance that Gosu can access. |
See also
