---
title: SAIF.Framework.CodeGen overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: <owner>
last_reviewed: 2026-07-23
library: SAIF.Framework.CodeGen
reference_type: package
---

# SAIF.Framework.CodeGen overview

> **Documentation context:** Packaged Component (NuGet)

`SAIF.Framework.CodeGen` is a narrow, single-purpose developer/code-generation tooling library. It reads Oracle "code table" reference data and emits VB.NET source-code text fragments (`Case` statements or `Enum` member lists) for a developer to paste into hand-written code. It does not participate in runtime business-object lifecycle, web request handling, or application-layer orchestration.

## Purpose
- Reads Oracle "code table" reference data (columns `code`, `code_descr`) and emits VB.NET source-code text — either `Case` statement blocks or `Enum` member lists — intended for a developer to paste into hand-written code.
- Consumed as a developer/tooling utility rather than as part of any runtime request pipeline; no callers of its public class were found anywhere in this repository*.

## Responsibilities
- Generate VB `Case` statement blocks from a code table's rows, for manual insertion into hand-written source code (`CreateCaseStatement`).
- Generate VB `Enum` member lists from a code table's rows (`CreateEnumStatement`).
- Establish and, when parameters change, re-establish a direct Oracle data-layer connection used solely to source code-table data for generation (`Connect`).
- Derive unique, legal VB identifier names from code-table row values (`GetEnumValue`).

## Key components
- `CodeTableMap`: the sole public class; owns the connection lifecycle, SQL execution, and source-text generation.
- `CodeBlockType`: a public enum (`CaseStatement`, `EnumStatement`) defined for external callers but not referenced by any live code in this library*.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Configuration](configuration.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

> **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.Framework.CodeGen\CodeTableMap.vb
- SAIF.Framework.CodeGen\SAIF.Framework.CodeGen.vbproj
