# Business Logic — KKW00121SF01DBean.listKoumokuIds() [12 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00121SF.KKW00121SF01DBean` |
| Layer | Data Bean / Utility |
| Module | `KKW00121SF` (Package: `eo.web.webview.KKW00121SF`) |

## 1. Role

### KKW00121SF01DBean.listKoumokuIds()

This method serves as a **metadata catalog provider** for a data-type validation screen (`KKW00121SF`). It returns a predefined, fixed list of eight Japanese-language field names (item labels) that represent the standard set of UI validation identifiers used throughout the data-type bean system. Each string corresponds to a semantic category of data that can be validated against a template: template identification, status, item-level error checking, item identification, screen identification, message identification, embedded text content, and screen-level item identification. The method follows the **builder pattern** — it constructs a new `ArrayList` from scratch on every call, populating it with constant string literals. It is a **shared utility** consumed by the parent bean class (`KKW00121SFBean`) during data-type validation dispatch, specifically when the target data-type is classified as a data-type bean with the class name `KKW00121SF01DBean`. It has no conditional logic, no parameters, and no external dependencies — it is purely a static factory for validation metadata.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    START --> INIT["Initialize: Create new ArrayList<String> koumokuList"]
    INIT --> ADD1["Add: テンプレートID (Template ID)"]
    ADD1 --> ADD2["Add: ステータス (Status)"]
    ADD2 --> ADD3["Add: 項目チェッカー (Item Checker)"]
    ADD3 --> ADD4["Add: 項目ID (Item ID)"]
    ADD4 --> ADD5["Add: 画面ID (Screen ID)"]
    ADD5 --> ADD6["Add: メッセージID (Message ID)"]
    ADD6 --> ADD7["Add: 埋め込み文字列 (Embedded String)"]
    ADD7 --> ADD8["Add: 画面項目ID (Screen Item ID)"]
    ADD8 --> END(["Return koumokuList"])
```

**Processing Description:**
This method has no conditional branches, no loops, and no external calls. It performs a simple sequential list construction:
1. Initializes a new empty `ArrayList<String>` named `koumokuList`.
2. Appends eight fixed string literals (item names) in a predetermined order via `ArrayList.add()`.
3. Returns the populated list to the caller.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. It is a static factory method that produces a self-contained list of validation item identifiers. |

No instance fields or external state are read by this method.

## 4. CRUD Operations / Called Services

This method performs **no database operations**, **no service component calls**, and **no data access**. It is a pure in-memory list constructor.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | - | - | - | No CRUD operations — pure list builder. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW00121SF | `KKW00121SFBean.getTypeModelData` -> `KKW00121SF01DBean.listKoumokuIds` | (none — pure in-memory builder) |
| 2 | Screen:KKW00121SF | `KKW00121SFBean.getTypeModelData` -> `KKW00121SF01DBean` (via comparison with class name `KKW00121SF01DBean`) | (none — pure in-memory builder) |

**Notes:**
- Both callers reside within the same screen module `KKW00121SF`.
- The caller in `KKW00121SFBean.java` invokes `listKoumokuIds()` when the data-type being processed is a data-type bean whose class name matches `"KKW00121SF01DBean"` — specifically for the error message item type (`"エラーメッセージ"` / Error Message, Item ID: `err_msg`).
- This method does not reach any external services, databases, or CBS/SC components.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(initialize list)` (L701)

> Creates a new empty ArrayList to hold the item name strings.

| # | Type | Code |
|---|------|------|
| 1 | SET | `koumokuList = new ArrayList<String>()` // Initialize a new ArrayList for storing item name strings |

**Block 2** — [EXEC] `(append 8 item names)` (L702–L709)

> Adds each fixed validation item identifier to the list in the predetermined display order.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `koumokuList.add("テンプレートID")` // テンプレートID = Template ID [Item: 1/8] |
| 2 | EXEC | `koumokuList.add("ステータス")` // ステータス = Status [Item: 2/8] |
| 3 | EXEC | `koumokuList.add("項目チェッカー")` // 項目チェッカー = Item Checker [Item: 3/8] |
| 4 | EXEC | `koumokuList.add("項目ID")` // 項目ID = Item ID [Item: 4/8] |
| 5 | EXEC | `koumokuList.add("画面ID")` // 画面ID = Screen ID [Item: 5/8] |
| 6 | EXEC | `koumokuList.add("メッセージID")` // メッセージID = Message ID [Item: 6/8] |
| 7 | EXEC | `koumokuList.add("埋め込み文字列")` // 埋め込み文字列 = Embedded String [Item: 7/8] |
| 8 | EXEC | `koumokuList.add("画面項目ID")` // 画面項目ID = Screen Item ID [Item: 8/8] |

**Block 3** — [RETURN] `(return list)` (L710)

> Returns the fully constructed list to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList` // Return the populated ArrayList of 8 item name strings |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `listKoumokuIds` | Method | List of Item IDs — returns validation metadata field names |
| `koumokuList` | Field | Item List — the ArrayList holding the eight validation item name strings |
| テンプレートID (Template ID) | Field | Template ID — identifier for a data-type validation template |
| ステータス (Status) | Field | Status — current processing state of a validation item |
| 項目チェッカー (Item Checker) | Field | Item Checker — validation rule/checker associated with an item |
| 項目ID (Item ID) | Field | Item ID — unique identifier for a validation data item |
| 画面ID (Screen ID) | Field | Screen ID — identifier for the UI screen context |
| メッセージID (Message ID) | Field | Message ID — identifier for an error or system message (mapped to `err_msg` key) |
| 埋め込み文字列 (Embedded String) | Field | Embedded String — static text content embedded in a validation item |
| 画面項目ID (Screen Item ID) | Field | Screen Item ID — identifier for a field within a specific screen |
| `KKW00121SF01DBean` | Class | Data-Type Bean — a bean class used for data-type validation, serving as the reference implementation for the `KKW00121SF` screen's validation engine |
| `KKW00121SF` | Module | Data-Type Bean Validation Screen — the screen module responsible for validating data-type bean configurations |
| データタイプビーン (Data-Type Bean) | Business term | Data-Type Bean — a Java class that represents the schema/metadata of a data structure being validated |
| 項目名 (Item Name) | Business term | Item Name — the human-readable label for a validation metadata field |
