---
title: "Business Logic — KKW00121SF01DBean.getJsflist_screen_item_id()"
file: "source/koptWebB/src/eo/web/webview/KKW00121SF/KKW00121SF01DBean.java"
lines: "214-222"
---

# Business Logic — KKW00121SF01DBean.getJsflist_screen_item_id() [9 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00121SF.KKW00121SF01DBean` |
| Layer | Web (View / JSF Data Bean) |
| Module | `KKW00121SF` (Package: `eo.web.webview.KKW00121SF`) |

## 1. Role

### KKW00121SF01DBean.getJsflist_screen_item_id()

This method is a JSF data-binding helper (JSF = JakartaServer Faces) that transforms a server-side data list (`screen_item_id_list`) into a JavaScript-friendly `SelectItem` list suitable for rendering an HTML dropdown (select element) on a web page. In the K-Opticom telecom service-order management system, "screen items" (画面項目 — *gamenshoumoku*) represent UI-bound fields that carry business data between the presentation layer and the server. The method follows a standard builder/routing pattern shared across the `KKW00121SF01DBean` class: every `getJsflist_*` method performs the same transformation for its respective list field (e.g., `getJsflist_template_id`, `getJsflist_status`). This method plays a critical role in the View layer, enabling seamless data binding for any JSF `<h:selectOneMenu>` or `<h:selectManyListbox>` component that needs to display screen item IDs as selectable options.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["getJsflist_screen_item_id()"])
    INIT["Initialize: new ArrayList<SelectItem>()"]
    LOOP_START{"i < screen_item_id_list.size()?"}
    CAST["Cast: (X33VDataTypeStringBean) screen_item_id_list.get(i)"]
    GET_VALUE["Get value: .getValue() as String itemValue"]
    CREATE_ITEM["Create: new SelectItem(new Integer(i).toString(), itemValue)"]
    ADD_ITEM["Add item to ary list"]
    INCR["Increment i"]
    END_NODE(["Return ary ArrayList"])

    START --> INIT --> LOOP_START
    LOOP_START -->|true| CAST --> GET_VALUE --> CREATE_ITEM --> ADD_ITEM --> INCR --> LOOP_START
    LOOP_START -->|false| END_NODE
```

**Business Description:**
The method initializes an empty `ArrayList<SelectItem>` and iterates over the `screen_item_id_list` field (an `X33VDataTypeList` of `X33VDataTypeStringBean` objects). For each entry, it casts the generic object to `X33VDataTypeStringBean`, extracts the string value, and wraps it in a JSF `SelectItem` where the `value` is the zero-based index (as a String) and the `label` is the actual screen item ID string. This allows JSF to bind the selected dropdown option back to the correct list index on form submission.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. It operates entirely on instance state. |

**Instance fields read by this method:**

| No | Field Name | Type | Business Description |
|----|-----------|------|---------------------|
| 1 | `screen_item_id_list` | `X33VDataTypeList` | Screen item ID list — contains `X33VDataTypeStringBean` objects, each holding a screen-bound item identifier (e.g., field IDs used for form binding and message routing in the K-Opticom web UI framework). Populated by the logic layer (`KKW00121SFLogic`) via `sendMessageString(KKW00121SFConst.SCREEN_ITEM_ID_01, ..., itemId)`. |

## 4. CRUD Operations / Called Services

### Pre-computed evidence from code analysis graph:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `X33VDataTypeList.size` | - | - | Retrieves the size of the screen item ID list |
| R | `X33VDataTypeList.get(int)` | - | - | Retrieves the element at index `i` from the screen item ID list |
| R | `X33VDataTypeStringBean.getValue()` | - | - | Extracts the raw String value from the screen item data bean wrapper |

**Analysis:**
This method performs zero database or service-component operations. It is a pure in-memory transformation — iterating over an already-populated list and converting its elements into JSF-compatible `SelectItem` objects. There are no C/R/U/D database operations, no SC (Service Component) calls, and no CBS (Callable Business Service) invocations.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | JSP: KKW001210PJP.jsp | JSF `<h:selectOneMenu>` binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A (pure in-memory conversion) |
| 2 | JSP: KKW001220PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 3 | JSP: KKW001230PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 4 | JSP: KKW001240PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 5 | JSP: KKW001250PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 6 | JSP: KKW001790PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 7 | JSP: KKW001800PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 8 | JSP: KKW001810PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 9 | JSP: KKW001820PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 10 | JSP: KKW001830PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 11 | JSP: KKW001840PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 12 | JSP: KKW001850PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 13 | JSP: KKW001860PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 14 | JSP: KKW001890PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |
| 15 | JSP: KKW001990PJP.jsp | JSF component binding -> `KKW00121SF01DBean.getJsflist_screen_item_id()` | N/A |

**Notes:**
- All callers are JSP pages in the `KKW00121SF` screen module. They invoke this method indirectly through JSF EL (Expression Language) bindings on `<h:selectOneMenu>` / `<h:selectManyListbox>` components.
- No direct Java callers were found — this method is accessed exclusively through the JSF view framework's getter resolution mechanism.
- The `screen_item_id_list` data is populated upstream by the logic layer (`KKW00121SFLogic`) using the `SCREEN_ITEM_ID_01` constant as the message key.

## 6. Per-Branch Detail Blocks

**Block 1** — [FOR LOOP] `(initialization: int i=0; condition: i < screen_item_id_list.size(); increment: i++)` (L215)

> Initializes an empty ArrayList and begins iterating over the screen_item_id_list. Each iteration extracts a screen item ID string and wraps it into a JSF SelectItem for dropdown rendering.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | INIT | `ArrayList<SelectItem> ary = new ArrayList<SelectItem>();` | Creates an empty list to collect JSF SelectItem objects. These will be bound to a JSF dropdown component. [-> JSF data-binding list] |
| 2 | LOOP | `for(int i=0; i < screen_item_id_list.size(); i++) {` | Iterates over all entries in the screen item ID list by index. `screen_item_id_list` is an `X33VDataTypeList` populated by the logic layer with `X33VDataTypeStringBean` objects, each representing a screen-bound field identifier (画面項目ID — *gamenshoumoku ID*). |

**Block 1.1** — [NESTED LOOP BODY] (L216–L219)

> Within each iteration, cast, extract, wrap, and add.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CAST | `String itemValue = (String)((X33VDataTypeStringBean) screen_item_id_list.get(i)).getValue();` | Casts the raw list element at index `i` to `X33VDataTypeStringBean` (the X33 framework's string data type wrapper), then calls `getValue()` to extract the underlying String. This string represents a screen item identifier — a field ID used by the K-Opticom web UI framework for form binding and message routing. The constant key used to populate this list is `KKW00121SFConst.SCREEN_ITEM_ID_01 = "画面項目ＩＤ"` (Screen Item ID). |
| 2 | SET | `SelectItem item = new SelectItem(new Integer(i).toString(), itemValue);` | Creates a JSF `SelectItem` where the value is the zero-based index (as String) and the label is the screen item ID string. The index-as-value pattern allows JSF to map the user's selection back to the correct list position on form submission, enabling the server to identify which screen item was selected. |
| 3 | EXEC | `ary.add(item);` | Appends the constructed `SelectItem` to the result list. |

**Block 2** — [RETURN] (L221)

> Returns the fully populated SelectItem list to the JSF view layer.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | RETURN | `return ary;` | Returns the `ArrayList<SelectItem>` containing all screen item IDs ready for JSF dropdown rendering. The list is consumed by JSF EL bindings (e.g., `#{bean.jsflist_screen_item_id}`) on JSP pages such as `KKW001210PJP.jsp`, `KKW001220PJP.jsp`, etc. |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `screen_item_id` | Field | Screen item ID — the identifier for a UI-bound field used by the K-Opticom web framework for form data binding and message routing |
| `screen_item_id_list` | Field | Screen item ID list — an `X33VDataTypeList` of `X33VDataTypeStringBean` objects, each containing a screen field identifier |
| `SCREEN_ITEM_ID_01` | Constant | `"画面項目ＩＤ"` (Screen Item ID) — the constant key used by the logic layer to set/get screen item ID values on the data bean |
| X33 | Acronym | Fujitsu Futurity X33 Framework — the Java EE web application framework used to build the K-Opticom web UI, providing data binding, validation, and MVC components |
| `X33VDataTypeStringBean` | Class | X33 Framework string data type wrapper — a typed bean that holds a single String value and integrates with the X33 `X33VDataTypeList` container |
| `X33VDataTypeList` | Class | X33 Framework typed list container — a generic-list wrapper that holds typed data bean objects and supports framework-level data binding |
| JSF | Acronym | JakartaServer Faces — the Java EE component-based web UI framework used to build the K-Opticom web application screens |
| `SelectItem` | Class | JSF component helper — represents a single option in an `<h:selectOneMenu>` or `<h:selectManyListbox>` dropdown component (constructor: `SelectItem(value, label)`) |
| `KKW00121SF01DBean` | Class | Screen data bean — a Java bean holding all UI-bound data for the KKW00121SF screen module. Implements `X33VDataTypeBeanInterface` and `X33VListedBeanInterface` for X33 framework integration. The "01" suffix typically indicates the primary (first) screen data bean in the module. |
| `KKW00121SFLogic` | Class | Screen logic class — the business logic layer for the KKW00121SF screen module. Populates data bean fields including `screen_item_id_list` via `sendMessageString` calls using the `SCREEN_ITEM_ID_01` constant. |
| K-Opticom | Business term | Japanese telecommunications provider offering fiber-to-the-home (FTTH), broadband, and mobile services. The codebase implements service-order management, customer data, and billing workflows. |
| 画面項目 (Gamenshoumoku) | Japanese term | Screen Item — a UI field on a web page that carries data between the client and server. Each screen item has an ID used for message routing and data binding in the X33 framework. |
