---

# Business Logic — KKW00121SF01DBean.clearListDataInstance() [38 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00121SF.KKW00121SF01DBean` |
| Layer | Web View Bean / Presentation (UI data binding layer) |
| Module | `KKW00121SF` (Package: `eo.web.webview.KKW00121SF`) |

## 1. Role

### KKW00121SF01DBean.clearListDataInstance()

This method serves as a **list data clearance utility** within the KKW00121SF screen bean, responsible for selectively clearing individual ArrayList-based UI data columns from the bean's state. It implements a **routing/dispatch design pattern** where the `key` parameter acts as a discriminator — matching against Japanese-language UI field labels — to determine which of the bean's nine protected `X33VDataTypeList` fields should be emptied via `clear()`. This is a **shared utility method** commonly used by screen beans during form reset, data re-initialization, or post-operation cleanup cycles. Each branch within the method handles one specific list-bound UI data column, and the same method signature is overridden by numerous subclasses (KKW00121SFxxDBean variants) to clear additional screen-specific lists on top of the base bean's nine fields. The Javadoc states: `リスト項目の要素をクリアします。` ("Clears the elements of list items.")

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["clearListDataInstance(key)"])
    COND_NULL{key != null?}
    PASS(["Pass - no operation"])
    END_NODE(["Return"])

    KEY_CHECK{key equals}
    CLEAR_1(["template_id_list.clear()"])
    CLEAR_2(["status_list.clear()"])
    CLEAR_3(["item_check_err_list.clear()"])
    CLEAR_4(["item_id_list.clear()"])
    CLEAR_5(["gamen_id_list.clear()"])
    CLEAR_6(["message_id_list.clear()"])
    CLEAR_7(["replace_str_list.clear()"])
    CLEAR_8(["screen_item_id_list.clear()"])

    START --> COND_NULL
    COND_NULL -->|No| PASS
    COND_NULL -->|Yes| KEY_CHECK
    PASS --> END_NODE
    KEY_CHECK -->|"template_id"| CLEAR_1 --> END_NODE
    KEY_CHECK -->|"status"| CLEAR_2 --> END_NODE
    KEY_CHECK -->|"item_check_err"| CLEAR_3 --> END_NODE
    KEY_CHECK -->|"item_id"| CLEAR_4 --> END_NODE
    KEY_CHECK -->|"gamen_id"| CLEAR_5 --> END_NODE
    KEY_CHECK -->|"message_id"| CLEAR_6 --> END_NODE
    KEY_CHECK -->|"replace_str"| CLEAR_7 --> END_NODE
    KEY_CHECK -->|"screen_item_id"| CLEAR_8 --> END_NODE
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | A Japanese-language UI field label (item ID display name) used to identify which list-bound data column should be cleared. Valid values correspond to the bean's protected list fields: `テンプレートID` (Template ID), `ステータス` (Status), `項目チェッカー` (Item Checker), `項目ID` (Item ID), `画面ID` (Screen ID), `メッセージID` (Message ID), `埋め込み文字列` (Embedded String), `画面項目ID` (Screen Item ID). If `null` is passed, the method performs no operation. |

**Instance fields read by the method:**

| Field Name | Type | Business Description |
|-----------|------|---------------------|
| `template_id_list` | `X33VDataTypeList` | Template ID list — holds template identifiers for the screen's data binding |
| `status_list` | `X33VDataTypeList` | Status list — holds status values bound to UI components |
| `item_check_err_list` | `X33VDataTypeList` | Item checker error list — holds validation error messages for list items |
| `item_id_list` | `X33VDataTypeList` | Item ID list — holds item identifiers |
| `gamen_id_list` | `X33VDataTypeList` | Screen ID list — holds screen identifiers for multi-screen navigation |
| `message_id_list` | `X33VDataTypeList` | Message ID list — holds message identifiers for error/info display |
| `replace_str_list` | `X33VDataTypeList` | Embedded string list — holds placeholder strings for template replacement |
| `screen_item_id_list` | `X33VDataTypeList` | Screen item ID list — holds screen-level item identifiers |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JCCcomFileSearchUtil.clear` | JCCcomFileSearch | - | Calls `clear` on an `X33VDataTypeList` — native Java `ArrayList.clear()` via the framework wrapper |
| - | `JZMAdEdit.clear` | JZMAdEdit | - | Calls `clear` on an `X33VDataTypeList` — native Java `ArrayList.clear()` via the framework wrapper |
| - | `KKA17101SFLogic.clear` | KKA17101SFLogic | - | Calls `clear` on an `X33VDataTypeList` — native Java `ArrayList.clear()` via the framework wrapper |
| - | `KKA17401SFLogic.clear` | KKA17401SFLogic | - | Calls `clear` on an `X33VDataTypeList` — native Java `ArrayList.clear()` via the framework wrapper |
| - | `KKA17601SFLogic.clear` | KKA17601SFLogic | - | Calls `clear` on an `X33VDataTypeList` — native Java `ArrayList.clear()` via the framework wrapper |

**Note:** This method performs **in-memory data clearance only**. It calls `java.util.List.clear()` on `X33VDataTypeList` wrapper objects, which delegates to `ArrayList.clear()`. No database operations, SC (Service Component) invocations, or CBS (Common Business Service) calls are made. The listed pre-computed evidence represents the standard pattern of `clear()` calls across the codebase, but this specific method operates purely on presentation-layer list state without persisting or querying any entity or table.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Bean:KKW00121SF48DBean | `KKW00121SF48DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 2 | Bean:KKW00121SF20DBean | `KKW00121SF20DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 3 | Bean:KKW00121SF73DBean | `KKW00121SF73DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 4 | Bean:KKW00121SF79DBean | `KKW00121SF79DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 5 | Bean:KKW00121SF49DBean | `KKW00121SF49DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 6 | Bean:KKW00121SF88DBean | `KKW00121SF88DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 7 | Bean:KKW00121SF67DBean | `KKW00121SF67DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 8 | Bean:KKW00121SF45DBean | `KKW00121SF45DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 9 | Bean:KKW00121SF75DBean | `KKW00121SF75DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 10 | Bean:KKW00121SF78DBean | `KKW00121SF78DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 11 | Bean:KKW00121SF39DBean | `KKW00121SF39DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 12 | Bean:KKW00121SF15DBean | `KKW00121SF15DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 13 | Bean:KKW00121SF23DBean | `KKW00121SF23DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 14 | Bean:KKW00121SF13DBean | `KKW00121SF13DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |
| 15 | Bean:KKW00121SF69DBean | `KKW00121SF69DBean.clearListDataInstance` -> `super.clearListDataInstance` (own override, does not call parent) | List clear only (no DB) |

**Note:** No callers were found that invoke the base `KKW00121SF01DBean.clearListDataInstance` method directly via `super` from within the KKW00121SF module — each subclass overrides the method independently. The base bean's method is inherited in the FUW009xxSF series modules (e.g., `FUW00901SFBean`), where subclasses explicitly call `super.clearListDataInstance(key)` to delegate to the parent chain.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `(key != null)` (L1126)

> Null guard: if `key` is null, skip all list clearance and return immediately.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `// null check on key parameter` |

**Block 1.1** — [IF-ELSE-IF CHAIN] `(key.equals("テンプレートID"))` (L1129)

> Route based on Japanese-language UI field label "テンプレートID" (Template ID). If the key matches, clear the `template_id_list` data column.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `if(key.equals("テンプレートID"))` // "Template ID" [-> itemID: template_id] |
| 2 | CALL | `template_id_list.clear()` |

**Block 1.2** — [ELSE-IF] `(key.equals("ステータス"))` (L1133)

> Route: "ステータス" (Status). Clear the `status_list` data column.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `else if(key.equals("ステータス"))` // "Status" [-> itemID: status] |
| 2 | CALL | `status_list.clear()` |

**Block 1.3** — [ELSE-IF] `(key.equals("項目チェッカー"))` (L1137)

> Route: "項目チェッカー" (Item Checker). Clear the `item_check_err_list` data column — used for list item validation error messages.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `else if(key.equals("項目チェッカー"))` // "Item Checker" [-> itemID: item_check_err] |
| 2 | CALL | `item_check_err_list.clear()` |

**Block 1.4** — [ELSE-IF] `(key.equals("項目ID"))` (L1141)

> Route: "項目ID" (Item ID). Clear the `item_id_list` data column.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `else if(key.equals("項目ID"))` // "Item ID" [-> itemID: item_id] |
| 2 | CALL | `item_id_list.clear()` |

**Block 1.5** — [ELSE-IF] `(key.equals("画面ID"))` (L1145)

> Route: "画面ID" (Screen ID). Clear the `gamen_id_list` data column — holds identifiers for multi-screen navigation pages.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `else if(key.equals("画面ID"))` // "Screen ID" [-> itemID: gamen_id] |
| 2 | CALL | `gamen_id_list.clear()` |

**Block 1.6** — [ELSE-IF] `(key.equals("メッセージID"))` (L1149)

> Route: "メッセージID" (Message ID). Clear the `message_id_list` data column — holds message identifiers displayed to users as errors or notifications.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `else if(key.equals("メッセージID"))` // "Message ID" [-> itemID: message_id] |
| 2 | CALL | `message_id_list.clear()` |

**Block 1.7** — [ELSE-IF] `(key.equals("埋め込み文字列"))` (L1153)

> Route: "埋め込み文字列" (Embedded String). Clear the `replace_str_list` data column — holds placeholder strings used for text template replacement operations.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `else if(key.equals("埋め込み文字列"))` // "Embedded String" [-> itemID: replace_str] |
| 2 | CALL | `replace_str_list.clear()` |

**Block 1.8** — [ELSE-IF] `(key.equals("画面項目ID"))` (L1157)

> Route: "画面項目ID" (Screen Item ID). Clear the `screen_item_id_list` data column — holds screen-level item identifiers for the view layer.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `else if(key.equals("画面項目ID"))` // "Screen Item ID" [-> itemID: screen_item_id] |
| 2 | CALL | `screen_item_id_list.clear()` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `テンプレートID` | Field | Template ID — the Japanese display label for the template identifier column, mapped internally to `template_id` |
| `ステータス` | Field | Status — the Japanese display label for the status column, mapped internally to `status` |
| `項目チェッカー` | Field | Item Checker — the Japanese display label for the item validation error column, mapped internally to `item_check_err` |
| `項目ID` | Field | Item ID — the Japanese display label for the item identifier column, mapped internally to `item_id` |
| `画面ID` | Field | Screen ID — the Japanese display label for the screen identifier column, mapped internally to `gamen_id` |
| `メッセージID` | Field | Message ID — the Japanese display label for the message identifier column, mapped internally to `message_id` |
| `埋め込み文字列` | Field | Embedded String — the Japanese display label for the embedded/placeholder text column, mapped internally to `replace_str` |
| `画面項目ID` | Field | Screen Item ID — the Japanese display label for the screen item identifier column, mapped internally to `screen_item_id` |
| X33VDataTypeList | Technical | A framework wrapper around `ArrayList` that provides typed data binding for the Futurity X33 web framework. Serves as the data source for UI list components (e.g., `<h:selectManyListbox>`). |
| KKW00121SF | Module | Screen module identifier — a specific screen in the K-Opticom web application system. The `01DBean` suffix denotes the primary data bean for this screen. |
| X33VListedBeanInterface | Technical | An interface from the X33 framework that marks a bean as supporting list-bound data columns. |
| X33VDataTypeStringBean | Technical | A typed wrapper for string values within `X33VDataTypeList`, providing `getValue()` to retrieve the underlying string. |
| `超` (Chou) | Technical | Japanese full-width character used in some UI labels (e.g., `テンプレート超` would be a full-width "テンプレート" variant). |
| K-Opticom | Business term | K-Opticom — the telecommunications service provider platform; this codebase is part of its web application system. |

---
