# Business Logic — KKW00801SF01DBean.listKoumokuIds() [18 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00801SF.KKW00801SF01DBean` |
| Layer | Web View Bean (Data View / Presentation Layer) |
| Module | `KKW00801SF` (Package: `eo.web.webview.KKW00801SF`) |

## 1. Role

### KKW00801SF01DBean.listKoumokuIds()

This method provides a static lookup of item identifiers for the Mail service data-type bean used in the KKW00801SF screen module. It returns an `ArrayList<String>` containing 14 Japanese-labeled field names that represent configurable attributes of mail-related services (such as email address, domain, alias, mailbox capacity, virus check settings, and service start date components). The method implements a **static factory pattern** — it does not depend on any instance state, making it safe to call from static contexts such as UI binding logic or dropdown population routines. Its role in the larger system is to serve as the **metadata source** for the "Screen Data List" item, enabling the web screen (via `KKW00801SFBean.listKoumokuIds(String key)`) to dynamically render mail service configuration fields. It is a shared utility called by the parent `KKW00801SFBean` when the `key` parameter matches `"画面データリスト"` (Screen Data List), and follows the same convention used across dozens of other DBean classes in the codebase.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["listKoumokuIds()"])
    CREATE["Create ArrayList<String> koumokuList"]
    ADD1["Add: Email Address Account (メールアドレスアカウント)"]
    ADD2["Add: Email Address Domain (メールアドレスドメイン)"]
    ADD3["Add: Email Alias (メールエイリアス)"]
    ADD4["Add: Mailbox Capacity (メールボックス容量)"]
    ADD5["Add: Virus Check (ウイルスチェック)"]
    ADD6["Add: POP ID (POP ID)"]
    ADD7["Add: Start Date Year (利用開始日（年）)"]
    ADD8["Add: Start Date Month (利用開始日（月）)"]
    ADD9["Add: Start Date Day (利用開始日（日）)"]
    ADD10["Add: Display Mailbox Capacity (表示用メールボックス容量)"]
    ADD11["Add: Display Virus Check (表示用ウイルスチェック)"]
    ADD12["Add: Registration Mailbox Capacity MP Value (登録用メールボックス容量MP値)"]
    ADD13["Add: Mail POP Capacity Selection List (メールPOP容量選択リスト)"]
    ADD14["Add: Virus Check Selection List (ウイルスチェック選択リスト)"]
    RETURN["Return koumokuList"]
    END(["End"])

    START --> CREATE
    CREATE --> ADD1
    ADD1 --> ADD2
    ADD2 --> ADD3
    ADD3 --> ADD4
    ADD4 --> ADD5
    ADD5 --> ADD6
    ADD6 --> ADD7
    ADD7 --> ADD8
    ADD8 --> ADD9
    ADD9 --> ADD10
    ADD10 --> ADD11
    ADD11 --> ADD12
    ADD12 --> ADD13
    ADD13 --> ADD14
    ADD14 --> RETURN
    RETURN --> END
```

The method follows a linear, sequential processing pattern. It creates a new `ArrayList<String>` and appends 14 items in a fixed order using `ArrayList.add()`. There are no conditional branches, no loops beyond the implicit iteration of `add()` calls, and no external state dependencies. The items are appended in a domain-specific order that groups related mail service attributes together:

- **Items 1-3**: Core mail address configuration (account, domain, alias)
- **Item 4**: Mailbox capacity
- **Item 5**: Virus check configuration
- **Item 6**: POP ID identifier
- **Items 7-9**: Service start date broken into year/month/day components
- **Items 10-11**: Display-oriented variants of mailbox capacity and virus check
- **Item 12**: Registration mailbox capacity MP value
- **Items 13-14**: Selection list references for mail POP capacity and virus check

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. It is a static factory method that returns a pre-defined, immutable list of item identifiers for mail service configuration fields. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | (none) | - | - | This method performs no CRUD operations. It is a pure data provider with no database or service component interactions. |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Bean:KKW00801SFBean | `KKW00801SFBean.listKoumokuIds(String key)` → condition check `key.equals("画面データリスト")` → `KKW00801SF01DBean.listKoumokuIds()` | (none — pure list return) |

**Notes:**
- The sole documented caller is `KKW00801SFBean.java` at line 1508, within its `listKoumokuIds(String key)` method.
- This method follows a common pattern across the `FUW009xx` and `KKW00801SF` modules, where DBean classes serve as metadata providers for UI data-type beans.
- No other callers were found in the codebase search.

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] `(initialization)` (L1031)

> Create the return value list and populate it with all 14 mail service item identifiers in order.

| # | Type | Code |
|---|------|------|
| 1 | SET | `koumokuList = new ArrayList<String>()` // Initialize the result list |
| 2 | EXEC | `koumokuList.add("メールアドレスアカウント")` // Email Address Account — the user's assigned email address identifier [-> Item 1] |
| 3 | EXEC | `koumokuList.add("メールアドレスドメイン")` // Email Address Domain — the domain portion of the email address [-> Item 2] |
| 4 | EXEC | `koumokuList.add("メールエイリアス")` // Email Alias — alternate email forwarding address [-> Item 3] |
| 5 | EXEC | `koumokuList.add("メールボックス容量")` // Mailbox Capacity — storage size of the mail box [-> Item 4] |
| 6 | EXEC | `koumokuList.add("ウイルスチェック")` // Virus Check — anti-virus scanning setting for mail [-> Item 5] |
| 7 | EXEC | `koumokuList.add("POP ID")` // POP ID — identifier for POP mail retrieval service [-> Item 6] |
| 8 | EXEC | `koumokuList.add("利用開始日（年）")` // Service Start Date (Year) — year component of service activation date [-> Item 7] |
| 9 | EXEC | `koumokuList.add("利用開始日（月）")` // Service Start Date (Month) — month component of service activation date [-> Item 8] |
| 10 | EXEC | `koumokuList.add("利用開始日（日）")` // Service Start Date (Day) — day component of service activation date [-> Item 9] |
| 11 | EXEC | `koumokuList.add("表示用メールボックス容量")` // Display Mailbox Capacity — capacity value shown on screen [-> Item 10] |
| 12 | EXEC | `koumokuList.add("表示用ウイルスチェック")` // Display Virus Check — virus check setting shown on screen [-> Item 11] |
| 13 | EXEC | `koumokuList.add("登録用メールボックス容量MP値")` // Registration Mailbox Capacity MP Value — capacity value used in registration processing [-> Item 12] |
| 14 | EXEC | `koumokuList.add("メールPOP容量選択リスト")` // Mail POP Capacity Selection List — dropdown for selecting POP capacity [-> Item 13] |
| 15 | EXEC | `koumokuList.add("ウイルスチェック選択リスト")` // Virus Check Selection List — dropdown for selecting virus check settings [-> Item 14] |

**Block 2** — [RETURN] `(return result)` (L1045)

> Return the fully populated list to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList` // Return the 12-item list of mail service field names |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `メールアドレス` | Field | Email Address — the user's assigned email address identifier |
| `メールアドレスドメイン` | Field | Email Address Domain — the domain portion of the email address (e.g., @company.jp) |
| `メールエイリアス` | Field | Email Alias — alternate email forwarding address for the primary email account |
| `メールボックス容量` | Field | Mailbox Capacity — storage size allocated for the user's mail box |
| `ウイルスチェック` | Field | Virus Check — anti-virus scanning setting for incoming/outgoing mail |
| `POP ID` | Field | POP ID — unique identifier for the POP (Post Office Protocol) mail retrieval service |
| `利用開始日` | Field | Service Start Date — the date when the mail service was activated, split into year/month/day components |
| `表示用` | Field | Display — suffix indicating the value is used for screen display purposes (as opposed to registration) |
| `登録用` | Field | Registration — suffix indicating the value is used in data registration/creation processing |
| `MP値` | Field | MP Value — Management Parameter value, likely an internal pricing or tier identifier for capacity |
| `選択リスト` | Field | Selection List — a dropdown/radio-button list of selectable options for configuration |
| `画面データリスト` | Field | Screen Data List — the UI item ID (`mlad_list`) that triggers this DBean lookup |
| DBean | Acronym | Data Bean — a view-layer bean that provides metadata (field names, types) for UI rendering |
| KKW00801SF | Module | Web screen module code — the mail service configuration screen in the K-Opticom system |
| ArrayList | Technical | Java `java.util.ArrayList` — a resizable-array implementation of `List`, used here as the return type |
