---

# Business Logic — KKW14301SF01DBean.listKoumokuIds() [7 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA35101SF.KKW14301SF01DBean` |
| Layer | Utility / Data Type Bean (View Layer — Web Client Framework) |
| Module | `KKA35101SF` (Package: `eo.web.webview.KKA35101SF`) |

## 1. Role

### KKW14301SF01DBean.listKoumokuIds()

This method is a static factory that returns a predefined list of display field names for the **KCAT-Eo光テレビチューナーリスト** (KCAT-Eo Light TV Tuner List) data type bean within the K-Opticom web order entry system. It supports the dynamic form rendering framework by providing the human-readable column headers that appear on the web page when a "data type bean"-style field item is rendered — in this case, the multi-tuner configuration section where customers select how many Eo Light TV set-top boxes they want and choose their viewing course.

The method implements the **builder pattern**: it constructs an `ArrayList<String>` populated with three fixed Japanese field name strings, then returns it. Its role in the larger system is as a shared lookup utility — the `KKW14301SFBean.listKoumokuIds(String key)` routing method dispatches to this method (and five sibling DBean methods) based on the field item ID key, serving as a centralized catalog of data type bean labels for the order submission screen (KKA35101SF). This enables the framework to dynamically build select-item dropdowns or table headers without hardcoding display text in the view layer.

The method has no conditional branches — it always returns the same three-item list, reflecting the three column headers for the Eo Light TV tuner configuration table on the service order form.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds"])
    BUILD["Create new ArrayList<String> koumokuList"]

    BUILD --> ADD1["Add item 1: N台目EO光テレビチューナー (STP)"]
    ADD1 --> ADD2["Add item 2: N台目コース選択"]
    ADD2 --> ADD3["Add item 3: N台目カウント"]
    ADD3 --> RETURN["Return koumokuList"]
    RETURN --> END(["End"])

    START --> BUILD
```

**Processing Flow:**

1. **START** — Entry into `listKoumokuIds()` with no parameters.
2. **BUILD** — A new `ArrayList<String>` instance (`koumokuList`) is created to hold the field name strings.
3. **ADD1** — The first field name is added: "N台目EO光テレビチューナー (STP)" (Nth unit Eo Light TV tuner (STP)) — represents the column header for specifying which set-top box unit number is being configured.
4. **ADD2** — The second field name is added: "N台目コース選択" (Nth unit course selection) — represents the column header for selecting the viewing course plan for that tuner unit.
5. **ADD3** — The third field name is added: "N台目カウント" (Nth unit count) — represents the column header for the quantity of units.
6. **RETURN** — The fully populated list is returned to the caller.
7. **END** — Method completes.

There are no conditional branches, loops, or external method calls in this method. It is a pure data producer.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a static method with no parameters. It operates entirely on local state (the newly created ArrayList). |

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

## 4. CRUD Operations / Called Services

This method contains no CRUD operations. It does not call any service components, CBS (Common Business Service), or DAO layers. It is a pure in-memory data factory that builds and returns a list of display labels.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | (none) | — | — | No database or service component interactions. Pure local data construction. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKA35101SF | `KKW14301SFBean.listKoumokuIds("KCAT-Eo光テレビチューナーリスト")` -> `KKW14301SF01DBean.listKoumokuIds()` | (none — no CRUD endpoints reached) |

The primary (and only direct) caller is the `KKW14301SFBean.listKoumokuIds(String key)` routing method in the same module (`KKA35101SF`), which dispatches to this method when the `key` parameter equals the item ID string "KCAT-Eo光テレビチューナーリスト" (KCAT-Eo Light TV Tuner List). This routing method is called by the order submission screen logic (handled by `KKW14301SFLogic` or the JSP view backing) when dynamically building form field metadata for the Eo Light TV tuner configuration section.

No other callers were found across the codebase. The five sibling DBean classes (`KKW14301SF02DBean` through `KKW14301SF06DBean`) have equivalent `listKoumokuIds()` methods for their respective data type beans, all routed through the same parent bean.

## 6. Per-Branch Detail Blocks

### Block 1 — TOP_LEVEL (entry point) (L319)

> Static entry method. No conditional branches. Creates and populates the result list.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Create empty list for field names |
| 2 | EXEC | `koumokuList.add("N台目EO光テレビチューナー（STP）");` // Add first column header: Nth unit Eo Light TV tuner (STP) |
| 3 | EXEC | `koumokuList.add("N台目コース選択");` // Add second column header: Nth unit course selection |
| 4 | EXEC | `koumokuList.add("N台目カウント");` // Add third column header: Nth unit count |
| 5 | RETURN | `return koumokuList;` // Return the populated list |

### Block 1.1 — Item 1 (L321)

> Adds the first display field name for the TV tuner list table.

| # | Type | Code |
|---|------|------|
| 1 | SET | `"N台目EO光テレビチューナー（STP）"` // Resolved: Literal string "Nth unit Eo Light TV tuner (STP)" |

### Block 1.2 — Item 2 (L322)

> Adds the second display field name for the TV tuner list table — course selection column.

| # | Type | Code |
|---|------|------|
| 1 | SET | `"N台目コース選択"` // Resolved: Literal string "Nth unit course selection" |

### Block 1.3 — Item 3 (L323)

> Adds the third display field name for the TV tuner list table — unit count column.

| # | Type | Code |
|---|------|------|
| 1 | SET | `"N台目カウント"` // Resolved: Literal string "Nth unit count" |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `N台目EO光テレビチューナー（STP）` | Field | Nth unit Eo Light TV tuner (STP) — Display label for the column specifying which set-top box unit number is being configured in the tuner list |
| `N台目コース選択` | Field | Nth unit course selection — Display label for the column where the customer selects the viewing course plan for each tuner unit |
| `N台目カウント` | Field | Nth unit count — Display label for the column showing the quantity of tuner units being ordered |
| STP | Acronym | Set-Top Box — the physical television decoder/receiver device |
| EO光テレビ | Business term | Eo Light TV — K-Opticom's fiber-optic television broadcast service delivered via the EO光 (Eo Light) broadband network |
| KKW14301SF | Module ID | Service order submission screen module for Eo Light broadband/TV/tel combo orders (K-Opticom Web, Screen Flow 14301) |
| DBean | Acronym | Data Type Bean — a web framework concept where a Java bean implements `X33VDataTypeBeanInterface` to provide metadata (field names, data types, validation) for dynamic form fields rendered on a web page |
| listKoumokuIds | Method pattern | Common Japanese-named method convention meaning "list item IDs" — returns an array of column header strings for data type bean fields |
| 台目 | Japanese term | Unit number / ordinal suffix — used to enumerate items in a list (e.g., 1台目 = 1st unit, 2台目 = 2nd unit) |

---
