# Business Logic — KKW14301SF02DBean.listKoumokuIds() [6 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA35101SF.KKW14301SF02DBean` |
| Layer | Data Bean / Web Component (Package: `eo.web.webview.KKA35101SF`) |
| Module | `KKA35101SF` (Package: `eo.web.webview.KKA35101SF`) |

## 1. Role

### KKW14301SF02DBean.listKoumokuIds()

This method provides the **list of display item names** for the PE0 Light TV Tuner data type bean within the K-Opticom web application. It is a static factory method that returns an `ArrayList<String>` containing two field labels used on the screen for configuring multi-unit PE0 Light TV Tuner subscriptions. Specifically, it returns the Japanese display text for "(Nth Unit PE0 Light TV Tuner (STP))" and "(Nth Unit Count)" — the two form fields presented to operators when provisioning or modifying TV tuner rental items for a customer service contract.

The method follows the **Data Type Bean pattern** used across the X33 framework: each `*DBean` class implements `X33VDataTypeBeanInterface` and `X33VListedBeanInterface`, providing both data storage (via getter/setter properties) and metadata (via `listKoumokuIds()` and `typeModelData()`) for dynamic screen rendering. This method serves as a **shared data dictionary** that the screen bean (`KKW14301SFBean`) delegates to based on the item key `kcn_tv_tuner_list` (item name: "ｋｃｎ‐ＥＯ光テレビチューナーリスト"), enabling the framework to dynamically construct form dropdowns and display labels without hardcoding UI strings in the screen controller.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])

    START --> INIT["Create new ArrayList\<String\>()"]
    INIT --> ADD1["Add 'Nth Unit PE0 Light TV Tuner (STP)'"]
    ADD1 --> ADD2["Add 'Nth Unit Count'"]
    ADD2 --> RETURN_RESULT["Return koumokuList"]
    RETURN_RESULT --> END(["Next Processing"])
```

This method has a linear, unconditional processing flow with no conditional branches, loops, or external calls. It follows a simple builder pattern:
1. Initialize an empty `ArrayList<String>`.
2. Add two hardcoded display label strings representing the Nth-unit TV tuner and its count.
3. Return the populated list.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with no parameters. It returns a fixed list of display item names for the PE0 Light TV Tuner data type bean, regardless of input. |

## 4. CRUD Operations / Called Services

This method performs **no CRUD operations** and calls **no external services or CBS/SC methods**. It only manipulates a local in-memory `ArrayList` with hardcoded string literals.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| N/A | `ArrayList.add()` | N/A | N/A | In-memory list construction only — no database or service component interaction. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW14301SF (KKW14301SFBean) | `KKW14301SFBean.listKoumokuIds(String key)` when `key.equals("ｋｃｎ‐ＥＯ光テレビチューナーリスト")` → `KKW14301SF02DBean.listKoumokuIds()` | N/A (no database interaction) |

The method is called exclusively from the parent screen bean `KKW14301SFBean` as part of the dynamic item metadata resolution. No other classes or screens directly invoke this method.

## 6. Per-Branch Detail Blocks

**Block 1** — [METHOD] `(static method entry)` (L257)

> Initialize the list and populate with display labels.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create empty list for item name storage |
| 2 | SET | `koumokuList.add("Ｎ台目ＰＥＯ光テレビチューナー（ＳＴＰ）")` // Add display label: "Nth Unit PE0 Light TV Tuner (STP)" — [(Ｎ) → fullwidth N, (台目) → Nth unit ordinal, (ＰＥＯ光) → PE0 Light brand name, (テレビチューナー) → TV Tuner, (（ＳＴＰ）) → (STP) fullwidth parentheses] |
| 3 | SET | `koumokuList.add("Ｎ台目カウント")` // Add display label: "Nth Unit Count" — [(Ｎ) → fullwidth N, (台目) → Nth unit ordinal, (カウント) → Count] |
| 4 | RETURN | `return koumokuList;` // Return the populated item name list |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `koumoku` (項目) | Field | Item — refers to a form field or data column name in the web screen context |
| `kcn_tv_tuner_list` | Field | PE0 Light TV Tuner List item key — the identifier used in `listKoumokuIds(String key)` routing to select this bean's item list |
| `PEO光` (PE0 Hikari) | Business term | PE0 Light — a fiber-optic internet service brand offered by K-Opticom; "PE0" is the product line code |
| STP | Business term | Service Termination Point — refers to the customer-side network termination equipment |
| テレビチューナー (TV Tuner) | Field | TV Tuner — the set-top box or tuner device for PE0 Light digital TV service |
| カウント (Count) | Field | Count — the quantity of TV tuner units in the Nth position of a multi-unit bundle |
| 台目 (Dai-me) | Field | Nth Unit ordinal — indicates the Nth unit in a sequence; used here for multi-tuner configuration support |
| X33VDataTypeBeanInterface | Technical | X33 Framework interface — marks a class as a data type bean that provides type metadata (field names, types) for dynamic screen rendering |
| X33VListedBeanInterface | Technical | X33 Framework interface — marks a class as a listed bean that supports list-based data operations |
| `kcn_n_cnt_tv_tuner_*` | Field | PE0 Light TV Tuner count fields — instance fields (`update`, `value`, `enabled`, `state`) storing the Nth tuner unit's rental count data |
| `kcn_n_cnt_*` | Field | PE0 Light TV Tuner base fields — instance fields for the primary tuner unit count |
| KKW14301SF | Module | TV Tuner/Rental Service configuration screen module — handles PE0 Light TV tuner and related rental service provisioning |
| `kcat_tv_tuner_list` | Field | CAT TV Tuner List item key — alternative item key routed to KKW14301SF01DBean (different tuner type) |
