clsHazardGroupCollection¶
clsHazardGroupCollection is the read-only SAIF BOF business collection that retrieves HAZARD_GROUP rows in force on a caller-supplied effective date. It is the library's only type routed through the BOF data portal's BeforeRetrieve/AfterRetrieve lifecycle (OP-01), and enforces the effective-dating rule (BR-POL-001) and read-only surface (BR-POL-002) for hazard-group data.
Purpose¶
- Retrieve and hold the set of
clsHazardGroupinstances effective on a given date, delegating SQL execution to the BOF data portal inSAIF.BOF.Framework. - Provide lookup, containment, and removal operations over the retrieved set keyed on
HazardGroupID(BR-POL-003). - Forbid edit, add, and remove at the collection level (
AllowEdit=False,AllowRemove=False,IsSavable=False), making hazard-group retrieval a query-only operation (BR-POL-002).
Context¶
- Namespace:
SAIF.Business.Policy - Assembly/package:
SAIF.Business.Policy(PolicyCommon)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
Item(Index) |
Default Overloads ReadOnly Property Item(Index As Integer) As clsHazardGroup |
Positional access into the retrieved collection. |
ItemByKey(inHazardGroupID) |
ReadOnly Property ItemByKey(inHazardGroupID As String) As clsHazardGroup |
Finds a hazard group by id via linear scan; returns the last enumerated item (or Nothing on an empty list) when no match is found — a fall-through defect.* |
MyCriteria |
ReadOnly Property MyCriteria As Criteria |
Strongly typed access to the collection's Criteria; <Browsable(False)>. |
IsValid |
Overrides ReadOnly Property IsValid As Boolean |
Always returns True — the collection performs no cross-item validation. |
IsSavable |
ReadOnly Property IsSavable As Boolean |
Always returns False, enforcing BR-POL-002 at the collection level. |
Contains(clsHazardGroup) |
Overloads Function Contains(item As clsHazardGroup) As Boolean |
Tests whether the collection holds the given hazard group by identity. |
Contains(String) |
Overloads Function Contains(inHazardGroupID As String) As Boolean |
Tests whether the collection holds a hazard group with the given id. |
ContainsDeleted(clsHazardGroup) |
Overloads Function ContainsDeleted(item As clsHazardGroup) As Boolean |
Scans m_deletedList for the given hazard group by identity. |
ContainsDeleted(String) |
Overloads Function ContainsDeleted(inHazardGroupID As String) As Boolean |
Scans m_deletedList for a hazard group with the given id. |
Remove(clsHazardGroup) |
Overloads Sub Remove(item As clsHazardGroup) |
Removes a hazard group instance from the collection. |
Remove(String) |
Overloads Sub Remove(inHazardGroupID As String) |
Removes the hazard group matching the given id from the collection. |
GetHazardGroups(inDataportal, inEffectiveDate) |
Shared Function GetHazardGroups(inDataportal As IDataPortalInfo, inEffectiveDate As Date) As clsHazardGroupCollection |
Current entry point: constructs Criteria and retrieves hazard groups effective on the given date through the BOF data portal (OP-01). |
GetHazardGroupCollection(inDataportal, inEffectiveDate) |
<Obsolete("Use GetHazardGroups instead.")> Shared Function GetHazardGroupCollection(inDataportal As IDataPortalInfo, inEffectiveDate As Date) As clsHazardGroupCollection |
Deprecated twin of GetHazardGroups with an identical body; retained for backward compatibility. |
Behavioral notes¶
BeforeRetrieve/AfterRetrieve(protected overrides, not public surface) build theIDataRequest, assignCriteria.RetrieveSQL, bindEffectiveDate, and hydrate oneclsHazardGroupper result row viaLoad(OP-01, OP-02).- No explicit exception handling wraps retrieval; data-access exceptions from the framework propagate to the caller.
- The nested
Criteriaclass implementsIBusinessCriteriawithEffectiveDateas its only public property;RetrieveSQLis implemented whileCreateSQL/InsertSQL/UpdateSQL/DeleteSQLthrowApplicationException(clsConstants.Messages.InvalidSQLProperty). Protected Sub New()setsAllowEdit=False,AllowRemove=False,AllowSort=True,AllowFind=True— sorting and finding are permitted, mutation is not.
Constraints and usage notes¶
- No in-repo consumer of
clsHazardGroupCollectionwas found; it exists for other applications that consume this library.* - Callers should prefer
GetHazardGroupsover the<Obsolete>GetHazardGroupCollection, which has an identical body.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
- SAIF.Business.Policy/clsHazardGroupCollection.vb