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

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW00114SF.FUW00114SF01DBean` |
| Layer | Web View Data Bean (Controller layer — X33 framework data bean) |
| Module | `FUW00114SF` (Package: `eo.web.webview.FUW00114SF`) |

## 1. Role

### FUW00114SF01DBean.listKoumokuIds()

This method is a static factory that provides the framework with a complete list of the data bean's field identifiers (item names / 項目名). It serves as a metadata introspection hook for the X33 web framework's `X33VListedBeanInterface` contract, enabling the framework to enumerate which properties are available for data binding on the `FUW00114SF01DBean` view data bean. The method returns an `ArrayList<String>` containing exactly two Japanese-string field names: "Sender email address" (送信元メールアドレス) and "Email address setting field code" (メールアドレス設定フィールドコード). These correspond to the two String-type data fields (`mlad_value` / `mlad_state` and `mlad_set_field_cd_value` / `mlad_set_field_cd_state`) that the bean exposes through its `loadModelData` / `storeModelData` dispatch logic. Its role in the larger system is as a shared discovery utility — the framework calls it at runtime to populate dropdowns, validation metadata, or dynamic form builders without hardcoding field names in the presentation layer. The method implements a simple list-factory pattern with no conditional branches, no external state reads, and no CRUD operations.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    STEP1["Create ArrayList<String> koumokuList"]
    STEP2["Add '送信元メールアドレス' (Sender email address)"]
    STEP3["Add 'メールアドレス設定フィールドコード' (Email address setting field code)"]
    END_NODE(["Return koumokuList"])

    START --> STEP1
    STEP1 --> STEP2
    STEP2 --> STEP3
    STEP3 --> END_NODE
```

This method has no conditional logic, no loops, and no branching. It follows a linear three-step sequence: instantiate an `ArrayList`, populate it with two hardcoded field identifier strings, and return the list. Every step is represented in the flowchart above.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | (none — static method) | — | — |

The method takes no parameters. It is a stateless factory that returns a fresh list on each invocation, ensuring callers receive an independent copy and cannot mutate the canonical field list.

No instance fields or external state is read by this method. It is fully self-contained and deterministic.

## 4. CRUD Operations / Called Services

This method performs no CRUD operations. It does not call any service components (SC), CBS, DAO, or access any database tables. It is purely an in-memory list construction.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | — | — | — | No data access — pure metadata factory |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Framework (X33 `X33VListedBeanInterface`) | `X33VListedBeanInterface` contract introspection | — |

This method is not called directly by any screen, batch, or business component class in the codebase. It is intended to be invoked through the `X33VListedBeanInterface` interface by the X33 web framework itself at runtime during bean discovery and form metadata generation. No call sites were found in the application code.

## 6. Per-Branch Detail Blocks

Since this method has no conditional branches or loops, there is a single linear block:

**Block 1** — METHOD `(static factory)` (L226)

> Create and return a list of the data bean's field identifiers. The framework uses this list to discover available data binding properties for the view screen.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` // Initialize empty list |
| 2 | ADD | `koumokuList.add("送信元メールアドレス");` // Add sender email address field [-> Field ID: mlad_value / mlad_state] |
| 3 | ADD | `koumokuList.add("メールアドレス設定フィールドコード");` // Add email address setting field code [-> Field ID: mlad_set_field_cd_value / mlad_set_field_cd_state] |
| 4 | RETURN | `return koumokuList;` // Return the constructed list |

**Block 1.1** — ADD `(koumokuList.add("送信元メールアドレス"))` (L228)

> Register the first field identifier. This key matches the dispatch branches in `loadModelData()` and `storeModelData()` that handle the sender email address data fields (`mlad_value`, `mlad_state`).

| # | Type | Code |
|---|------|------|
| 1 | ADD | `koumokuList.add("送信元メールアドレス");` // Add sender email address as a discoverable field |

**Block 1.2** — ADD `(koumokuList.add("メールアドレス設定フィールドコード"))` (L229)

> Register the second field identifier. This key matches the dispatch branches in `loadModelData()` and `storeModelData()` that handle the email address setting field code data fields (`mlad_set_field_cd_value`, `mlad_set_field_cd_state`).

| # | Type | Code |
|---|------|------|
| 1 | ADD | `koumokuList.add("メールアドレス設定フィールドコード");` // Add email address setting field code as a discoverable field |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `送信元メールアドレス` | Field (String) | Sender email address — the email address that appears as the sender of messages generated by the system, stored via `mlad_value`/`mlad_state` fields |
| `メールアドレス設定フィールドコード` | Field (String) | Email address setting field code — a code reference used to configure or map which data field holds the email address in related forms, stored via `mlad_set_field_cd_value`/`mlad_set_field_cd_state` fields |
| `mlad_value` | Field | Mapped list address display value — internal storage for the sender email address string |
| `mlad_state` | Field | Mapped list address display state — internal storage for the display state flag of the sender email address field |
| `mlad_set_field_cd_value` | Field | Mapped list address setting field code value — internal storage for the email address setting field code string |
| `mlad_set_field_cd_state` | Field | Mapped list address setting field code state — internal storage for the display state flag of the email address setting field code |
| X33 | Acronym | Fujitsu Futurity X33 — the web application framework used for this project's view layer, providing the `X33VListedBeanInterface` contract for data bean introspection |
| `X33VListedBeanInterface` | Interface | Framework contract interface that data beans implement to support dynamic form generation, enabling the framework to enumerate available fields via `listKoumokuIds()` |
| `X33VDataTypeBeanInterface` | Interface | Framework contract interface for typed data access, supporting `loadModelData()`, `storeModelData()`, and `typeModelData()` methods |
| KOPT | Acronym | K-Opticom — the telecommunications service provider (domain context, per copyright notice) |
| FUW | Acronym | Web front-end service component module prefix — denotes a web view data bean module |
| SF | Acronym | Screen/form module suffix — indicates this bean belongs to a specific screen or form definition |
