---
title: Criteria
summary: API reference for Criteria.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy
reference_type: package
---

# Criteria

`Criteria` is `clsHazardGroup`'s nested criteria class implementing `IBusinessCriteria`. It carries the `IDataPortalInfo` used for data access, but every CRUD SQL property (`CreateSQL`, `DeleteSQL`, `InsertSQL`, `RetrieveSQL`, `UpdateSQL`) throws an `ApplicationException`, since individual `clsHazardGroup` instances are never created, retrieved, updated, or deleted directly — hazard groups are only loaded in bulk through `clsHazardGroupCollection`, per [BR-POL-011](../../../../business-rules.md#br-pol-011-hazard-group-data-is-read-only).

## Purpose
- Carry the `IDataPortalInfo` context needed by the data portal framework for this business object.
- Explicitly forbid direct single-object CRUD operations against `clsHazardGroup` by throwing from every SQL property, reinforcing that hazard-group data is read-only and retrieved only via the parent collection, per [BR-POL-011](../../../../business-rules.md#br-pol-011-hazard-group-data-is-read-only).

## Context
- Namespace: `SAIF.Business.Policy`
- Assembly/package: `SAIF.Business.Policy`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New` | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo)` | Constructs the criteria object with the supplied data portal context. |
| `DataPortalInfo` | `Friend Property DataPortalInfo() As IDataPortalInfo` | The data portal context used for data access operations. |
| `CreateSQL` | `Friend ReadOnly Property CreateSQL() As String` | Throws `ApplicationException`; direct creation of a `clsHazardGroup` is not supported, per [BR-POL-011](../../../../business-rules.md#br-pol-011-hazard-group-data-is-read-only). |
| `DeleteSQL` | `Friend ReadOnly Property DeleteSQL() As String` | Throws `ApplicationException`; direct deletion of a `clsHazardGroup` is not supported, per [BR-POL-011](../../../../business-rules.md#br-pol-011-hazard-group-data-is-read-only). |
| `InsertSQL` | `Friend ReadOnly Property InsertSQL() As String` | Throws `ApplicationException`; direct insertion of a `clsHazardGroup` is not supported, per [BR-POL-011](../../../../business-rules.md#br-pol-011-hazard-group-data-is-read-only). |
| `RetrieveSQL` | `Friend ReadOnly Property RetrieveSQL() As String` | Throws `ApplicationException`; a single `clsHazardGroup` cannot be retrieved directly — retrieval is performed through `clsHazardGroupCollection.Criteria`, per [BR-POL-011](../../../../business-rules.md#br-pol-011-hazard-group-data-is-read-only). |
| `UpdateSQL` | `Friend ReadOnly Property UpdateSQL() As String` | Throws `ApplicationException`; direct update of a `clsHazardGroup` is not supported, per [BR-POL-011](../../../../business-rules.md#br-pol-011-hazard-group-data-is-read-only). |


## Behavioral notes
- Source declaration: `Business\SAIF.Business.Policy\clsHazardGroup.vb`.
- Related operations, rules, and SQL are cross-referenced from the library-level documentation.

## Constraints and usage notes
- Consumers should rely on the declared public surface rather than internal implementation details.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `Business\SAIF.Business.Policy\clsHazardGroup.vb`
