Populate an imaging-import descriptor for distribution¶
Populates an imaging-import descriptor on demand: the caller-side clsPrint.ImportInfo property lazily constructs a clsImageImport instance, delegating construction into this library so that BR-IMG-008 construction-time defaults are applied before the descriptor is returned.
This is a cross-library operation. The trigger and caching originate in SAIF.Services.Printing (clsPrint.vb), while the descriptor's default-value initialization is owned by this library (clsImageImport.vb).
| Field | Value |
|---|---|
| Operation ID | op-img-002-populate-import-descriptor |
| Trigger | Caller (print/distribution flow) accesses the clsPrint.ImportInfo property getter |
| Inputs | None (lazy instance creation) |
| Outputs | Initialized clsImageImport instance held on clsPrint.m_ImportInfo, with BR-IMG-008 defaults applied |
| Primary components | clsPrint.ImportInfo getter (SAIF.Services.Printing) → clsImageImport constructor/property initializers (SAIF.Services.Imaging.Import) |
| Entry point | SAIF.Services.Printing/clsPrint.vb (ImportInfo property, lines ~76–85) |
Steps¶
- [SAIF.Services.Printing — caller] Caller reads the
ImportInfoproperty on aclsPrintinstance. - [SAIF.Services.Printing — caller] The getter checks
If m_ImportInfo Is Nothing Thenas a lazy-init guard; this check is plumbing local toclsPrint.vband is not governed by an imaging business rule. - [SAIF.Services.Printing — caller] → [SAIF.Services.Imaging.Import — descriptor, delegated] On first access, the getter executes
m_ImportInfo = New clsImageImport, delegating construction into this library. - [SAIF.Services.Imaging.Import — descriptor]
clsImageImportproperty initializers apply construction-time defaults:ImageIndexFlag="Y",ImageFileCode="CLAIM",NPages=1,DocumentDateDays=7,TaskPriority="MED",SystemGeneratedFlag="Y",PolicySecuredFlag="N"— BR-IMG-008. - [SAIF.Services.Printing — caller] The getter returns
m_ImportInfo(newly constructed or cached) to the caller. - [SAIF.Services.Printing — caller] Subsequent accesses on the same
clsPrintinstance return the cached descriptor directly — no re-construction and no re-application of the BR-IMG-008 defaults occurs.
Process flow¶
The following diagram visualizes this operation's control flow, with the two owning libraries separated into subgraphs to make the cross-library boundary explicit.
flowchart TD
subgraph Caller["SAIF.Services.Printing"]
Start(["Caller accesses<br>clsPrint.ImportInfo"]) --> A{"m_ImportInfo<br>Is Nothing?"}
A -->|Yes| B["clsPrint: New<br>clsImageImport()"]
D["clsPrint: cache result<br>in m_ImportInfo"] --> End(["Return clsImageImport<br>instance to caller"])
A -->|No| End
end
subgraph Descriptor["SAIF.Services.Imaging.Import"]
C["clsImageImport: apply<br>construction-time defaults<br>(BR-IMG-008)"]
end
B --> C
C --> D
Failure and edge-case behavior¶
- No exception handling exists in the
ImportInfogetter; the lazy-construction path always succeeds. - The BR-IMG-008 defaults are applied exactly once per
clsPrintinstance lifetime; a reused instance that needs fresh defaults must haveImportInfoexplicitly reset via the setter, since no built-in reset mechanism exists.* - The
ImportInfosetter allows a caller to bypass BR-IMG-008 defaults entirely by assigning a pre-built or externally sourcedclsImageImportinstance — the rule is therefore not universally guaranteed for every value later read fromImportInfo.*
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Operations and processes
- Business rules
- API reference
- Serialize imaging-import metadata into wire format
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¶
SAIF.Services.Printing/clsPrint.vbSAIF.Services.Imaging.Import/clsImageImport.vb