Hierarchy
⤷
⤷
Properties
| Class | CL_WDR_DATA_MODEL | |
| Short Description | Model for Component | |
| Super Class | ||
| Instantiability of a Class | 0 | Private |
| Final |
General Data
| Message Class | ||
| Program status | ||
| Category | 0 | |
| Package | SWDP_RUNTIME_RENDERING | Web Dynpro Runtime: Rendering |
| Created | 20121025 | SAP |
| Last change | 20141120 | |
| Shared Memory-enabled | ||
| Fixed point arithmetic | ||
| Unicode checks active |
Forward declarations
| # | Type group / Object type | Type | Type Description |
|---|---|---|---|
| 1 | Forward declaration interface (INTERFACE i DEFINITION DEF... | Forward declaration interface (INTERFACE i DEFINITION DEF... |
Interfaces
Class CL_WDR_DATA_MODEL has no interface implemented.
Friends
Class CL_WDR_DATA_MODEL has no friend class.
Attributes
| # | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Constant | Public | Type reference (TYPE) | STRING | `WD_DATA_MODEL` | 20130624 | |||
| 2 | Constant | Public | Type reference (TYPE) | STRING | `WD_DATA_MODEL>` | 20130625 | |||
| 3 | Constant | Public | Type reference (TYPE) | STRING | `>/` | 20121218 | |||
| 4 | Instance attribute | Protected | Type reference (TYPE) | TY_T_BOUND_ATTRIBUTE | 20121108 | ||||
| 5 | Instance attribute | Private | Type reference (TYPE) | TY_T_MODELS | 20121026 | ||||
| 6 | Instance attribute | Private | Type reference (TYPE) | TY_T_UPDATE_QUEUE | 20121106 | ||||
| 7 | Instance attribute | Public | Type reference (TYPE) | STRING | 20130624 | ||||
| 8 | Static Attribute | Private | Object reference (TYPE REF TO) | CL_WDR_DATA_MODEL | 20130624 |
Methods
Events
Class CL_WDR_DATA_MODEL has no event.
Types
| # | Type | Visibility | Typing | Associated Type | Description | Created on | Type Source |
|---|---|---|---|---|---|---|---|
| 1 | TY_S_BOUND_ATTRIBUTE | Public | See coding | 20121030 | begin of ty_s_bound_attribute,
"! component usage name
component_usage type string,
"! context node name
node_name type string,
"! parent context node name
parent_node_name type string,
"! attribute name
attribute_name type string,
"! owner of binding
owner type ref to object,
"! node as reference
node type ref to if_wd_context_node,
"! model path
model_path type string,
"! binding options
options type cl_wdr_data_model_manager=>s_binding_options,
end of ty_s_bound_attribute
|
||
| 2 | TY_S_MODEL | Private | See coding | 20121026 | begin of ty_s_model,
"! component
component type ref to cl_wdr_client_component,
"! controller
controller type ref to if_wd_controller,
"! mapped controller
mapped_controller type ref to if_wd_controller,
"! context node
context_node type ref to if_wd_context_node,
"! model node
model type ref to cl_wdr_data_model_node,
"! component usage name
component_usage_id type string,
"! context node name
node_name type string,
"! model node json path
model_path type string,
"! context node path
path type string,
"! buffered data string in JSON notation
data type string,
"! buffered default data string in JSON notation
default_data type string,
"! indicator if defaults have been send
default_data_send type abap_bool,
end of ty_s_model
|
||
| 3 | TY_S_MODEL_UPDATE_RESULT | Public | See coding | 20121122 | begin of ty_s_model_update_result,
path type string,
data type string,
merge type abap_bool,
end of ty_s_model_update_result
|
||
| 4 | TY_S_UPDATE_QUEUE | Private | See coding | 20121105 | begin of ty_s_update_queue,
"! context node
node type ref to if_wd_context_node,
"! context node path
node_path type string,
"! range updated yes/ no
range type abap_bool,
"! selection update yes/ no
selection type abap_bool,
"! attribute name, only used in case of single attribute updates
attribute type string,
"! attribute key dimension x, only used in case of single updates
wd_tkey_x type wdr_ctx_node_2d_key,
"! attribute key dimension y, only used in case of single updates for 2d nodes
wd_tkey_y type wdr_ctx_node_2d_key,
end of ty_s_update_queue
|
||
| 5 | TY_T_BOUND_ATTRIBUTE | Public | See coding | 20121030 | ty_t_bound_attribute type sorted table of ty_s_bound_attribute with non-unique key component_usage node_name parent_node_name attribute_name
|
||
| 6 | TY_T_MODELS | Private | See coding | 20121026 | ty_t_models type sorted TABLE OF ty_s_model with UNIQUE key component controller context_node
|
||
| 7 | TY_T_MODEL_UPDATE_RESULT | Public | See coding | 20121122 | ty_t_model_update_result type standard table of ty_s_model_update_result with default key
|
||
| 8 | TY_T_UPDATE_QUEUE | Private | See coding | 20121105 | ty_t_update_queue type standard table of ty_s_update_queue with default key
|
||
| 9 | T_MODEL_UPDATE | Public | See coding | 20121031 | begin of t_model_update,
"! model instance
model type ref to cl_wdr_data_model,
"! update action
tbd type string,
end of t_model_update
|
||
| 10 | T_MODEL_UPDATE_TAB | Public | See coding | 20121031 | t_model_update_tab type standard table of t_model_update with default key
|
Method Signatures
Method CONSTRUCTOR Signature
Method CONSTRUCTOR on class CL_WDR_DATA_MODEL has no parameter.
Method CONSTRUCTOR on class CL_WDR_DATA_MODEL has no exception.
Method GET_ATTRIBUTE_NAME_BY_PATH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ATTRIBUTE_NAME | Value transfer | Type reference (TYPE) | STRING | 20130219 | ||||
| 2 | PATH | Call by reference | Type reference (TYPE) | STRING | 20130219 |
Method GET_ATTRIBUTE_NAME_BY_PATH on class CL_WDR_DATA_MODEL has no exception.
Method GET_ELEMENT_BY_PATH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ELEMENT | Value transfer | Object reference (TYPE REF TO) | IF_WD_CONTEXT_ELEMENT | 20121214 | ||||
| 2 | IV_FOR_UPDATE | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_FALSE | 20130221 | |||
| 3 | PATH | Call by reference | Type reference (TYPE) | STRING | 20121214 |
Method GET_ELEMENT_BY_PATH on class CL_WDR_DATA_MODEL has no exception.
Method GET_INSTANCE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | RO_DATA_MODEL | Value transfer | Object reference (TYPE REF TO) | CL_WDR_DATA_MODEL | 20130624 |
Method GET_INSTANCE on class CL_WDR_DATA_MODEL has no exception.
Method GET_JSON_PATH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IO_BINDING | Call by reference | Object reference (TYPE REF TO) | WDR_PROPERTY_BINDING | 20130624 | ||||
| 2 | IO_CONTEXT_ELEMENT | Call by reference | Object reference (TYPE REF TO) | IF_WD_CONTEXT_ELEMENT | Web Dynpro: Schnittstelle für ein Knotenelement | 20131016 | |||
| 3 | IO_CONTEXT_NODE | Call by reference | Object reference (TYPE REF TO) | IF_WD_CONTEXT_NODE | 20121025 | ||||
| 4 | IV_ABSOLUTE_PATH | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_TRUE | 20130627 | |||
| 5 | IV_ATTRIBUTE_NAME | Call by reference | Type reference (TYPE) | STRING | 20121025 | ||||
| 6 | IV_WO_ATTRIBUTE | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_FALSE | 20130625 | |||
| 7 | RV_PATH | Value transfer | Type reference (TYPE) | STRING | 20121025 |
Method GET_JSON_PATH on class CL_WDR_DATA_MODEL has no exception.
Method GET_MODEL_NODE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IO_CONTEXT_NODE | Call by reference | Object reference (TYPE REF TO) | IF_WD_CONTEXT_NODE | 20121108 | ||||
| 2 | NODE | Value transfer | Object reference (TYPE REF TO) | CL_WDR_DATA_MODEL_NODE | Model für Component | 20121030 | |||
| 3 | PATH | Call by reference | Type reference (TYPE) | STRING | 20121105 | ||||
| 4 | WD_BINDING | Call by reference | Object reference (TYPE REF TO) | WDR_PROPERTY_BINDING | Bindung eines View-Elementes an einen Kontextknoten | 20121030 |
Method GET_MODEL_NODE on class CL_WDR_DATA_MODEL has no exception.
Method GET_PATH_COMPONENTS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | EV_ATTRIBUTE | Call by reference | Type reference (TYPE) | STRING | 20130219 | ||||
| 2 | EV_COMPONENT | Call by reference | Type reference (TYPE) | STRING | 20130624 | ||||
| 3 | EV_CONTROLLER | Call by reference | Type reference (TYPE) | STRING | 20130219 | ||||
| 4 | EV_KEY | Call by reference | Type reference (TYPE) | STRING | 20130219 | ||||
| 5 | EV_MODEL | Call by reference | Type reference (TYPE) | STRING | 20130219 | ||||
| 6 | EV_NODE | Call by reference | Type reference (TYPE) | STRING | 20130219 | ||||
| 7 | PATH | Call by reference | Type reference (TYPE) | STRING | 20130219 |
Method GET_PATH_COMPONENTS on class CL_WDR_DATA_MODEL has no exception.
Method ON_ATTRIBUTE_CHANGED Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ATTRIBUTE_NAME | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 2 | CONTROLLER | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 3 | ELEMENT | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 4 | ELEMENT_INDEX | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 5 | NODE | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 6 | NODE_NAME | Value transfer | Attribute reference (LIKE) | 20121106 |
Method ON_ATTRIBUTE_CHANGED on class CL_WDR_DATA_MODEL has no exception.
Method ON_ATTRIBUTE_CHANGED_2D Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ATTRIBUTE_NAME | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 2 | CONTROLLER | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 3 | ELEMENT_KEY_X | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 4 | ELEMENT_KEY_Y | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 5 | NODE | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 6 | NODE_NAME | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 7 | PROPERTY | Value transfer | Attribute reference (LIKE) | 20121106 |
Method ON_ATTRIBUTE_CHANGED_2D on class CL_WDR_DATA_MODEL has no exception.
Method ON_COLLECTION_CHANGED Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CONTROLLER | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 2 | NODE | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 3 | NODE_NAME | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 4 | PROPERTY | Value transfer | Attribute reference (LIKE) | 20121106 |
Method ON_COLLECTION_CHANGED on class CL_WDR_DATA_MODEL has no exception.
Method ON_COLLECTION_CHANGED_2D Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CONTROLLER | Value transfer | Attribute reference (LIKE) | 20121114 | |||||
| 2 | NODE | Value transfer | Attribute reference (LIKE) | 20121114 | |||||
| 3 | NODE_NAME | Value transfer | Attribute reference (LIKE) | 20121114 | |||||
| 4 | PROPERTY | Value transfer | Attribute reference (LIKE) | 20121114 |
Method ON_COLLECTION_CHANGED_2D on class CL_WDR_DATA_MODEL has no exception.
Method ON_ELEM_ATTRIBUTE_CHANGED_2D Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ATTRIBUTE_NAME | Value transfer | Attribute reference (LIKE) | 20130212 | |||||
| 2 | CONTROLLER | Value transfer | Attribute reference (LIKE) | 20130212 | |||||
| 3 | ELEMENT_KEY_X | Value transfer | Attribute reference (LIKE) | 20130212 | |||||
| 4 | ELEMENT_KEY_Y | Value transfer | Attribute reference (LIKE) | 20130212 | |||||
| 5 | NODE | Value transfer | Attribute reference (LIKE) | 20130212 | |||||
| 6 | NODE_NAME | Value transfer | Attribute reference (LIKE) | 20130212 | |||||
| 7 | PROPERTY | Value transfer | Attribute reference (LIKE) | 20130212 |
Method ON_ELEM_ATTRIBUTE_CHANGED_2D on class CL_WDR_DATA_MODEL has no exception.
Method ON_MODEL_RANGE_CHANGED Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CONTEXT_NODE | Value transfer | Attribute reference (LIKE) | 20121105 | |||||
| 2 | MODEL_NODE | Value transfer | Attribute reference (LIKE) | 20121105 | |||||
| 3 | RANGES | Value transfer | Attribute reference (LIKE) | 20121105 |
Method ON_MODEL_RANGE_CHANGED on class CL_WDR_DATA_MODEL has no exception.
Method ON_SELECTION_CHANGED_2D Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CONTROLLER | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 2 | NODE | Value transfer | Attribute reference (LIKE) | 20121106 | |||||
| 3 | NODE_NAME | Value transfer | Attribute reference (LIKE) | 20121106 |
Method ON_SELECTION_CHANGED_2D on class CL_WDR_DATA_MODEL has no exception.
Method PATH_TO_JS_OPEN_AND_CLOSE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | EV_JSON | Value transfer | Type reference (TYPE) | STRING | 20121026 | ||||
| 2 | IV_NEW_PATH | Call by reference | Type reference (TYPE) | STRING | 20121026 | ||||
| 3 | IV_OLD_PATH | Call by reference | Type reference (TYPE) | STRING | 20121026 |
Method PATH_TO_JS_OPEN_AND_CLOSE on class CL_WDR_DATA_MODEL has no exception.
Method REGISTER_BINDING Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | OPTIONS | Call by reference | Type reference (TYPE) | CL_WDR_DATA_MODEL_MANAGER=>S_BINDING_OPTIONS | 20140214 | ||||
| 2 | OWNER | Call by reference | Object reference (TYPE REF TO) | OBJECT | 20121030 | ||||
| 3 | WD_BINDING | Call by reference | Object reference (TYPE REF TO) | WDR_PROPERTY_BINDING | Bindung eines View-Elementes an einen Kontextknoten | 20121030 |
Method REGISTER_BINDING on class CL_WDR_DATA_MODEL has no exception.
Method RENDER_UPDATE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | MODEL_UPDATE | Call by reference | Type reference (TYPE) | T_MODEL_UPDATE | 20121031 | ||||
| 2 | RT_MODEL_RESULT | Value transfer | Type reference (TYPE) | TY_T_MODEL_UPDATE_RESULT | 20121122 |
Method RENDER_UPDATE on class CL_WDR_DATA_MODEL has no exception.
Method SERIALIZE_NODE_TO_JSON Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CT_MODEL_RESULT | Call by reference | Type reference (TYPE) | TY_T_MODEL_UPDATE_RESULT | 20121122 | ||||
| 2 | NODE_NAME | Call by reference | Type reference (TYPE) | STRING | 20121031 | ||||
| 3 | NODE_PATH | Call by reference | Type reference (TYPE) | STRING | Model-relative JSON Node Path | 20121101 |
Method SERIALIZE_NODE_TO_JSON on class CL_WDR_DATA_MODEL has no exception.
Method UNREGISTER_BINDINGS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | OWNER | Call by reference | Object reference (TYPE REF TO) | OBJECT | 20121030 |
Method UNREGISTER_BINDINGS on class CL_WDR_DATA_MODEL has no exception.
Method UPDATE_ATTRIBUTE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | PATH | Call by reference | Type reference (TYPE) | STRING | 20130219 | ||||
| 2 | UPDATE_DATA | Call by reference | Object reference (TYPE REF TO) | IF_WDR_UPDATE_SERVER_PEER_DATA | 20130219 | ||||
| 3 | VALUE | Call by reference | Type reference (TYPE) | STRING | 20130219 |
Method UPDATE_ATTRIBUTE on class CL_WDR_DATA_MODEL has no exception.
Method UPDATE_GRID_SELECTION Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | FROM_X | Call by reference | Type reference (TYPE) | STRING | 20130515 | ||||
| 2 | FROM_Y | Call by reference | Type reference (TYPE) | STRING | 20130515 | ||||
| 3 | PATH | Call by reference | Type reference (TYPE) | STRING | 20130515 | ||||
| 4 | STATE | Call by reference | Type reference (TYPE) | I | 20130515 | ||||
| 5 | TO_X | Call by reference | Type reference (TYPE) | STRING | 20130515 | ||||
| 6 | TO_Y | Call by reference | Type reference (TYPE) | STRING | 20130515 |
Method UPDATE_GRID_SELECTION on class CL_WDR_DATA_MODEL has no exception.
Method _DETERMINE_UPDATE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ET_CHANGED_KEYS | Call by reference | Type reference (TYPE) | IF_WD_CONTEXT_NODE_2D=>TY_T_RANGE_2D | 20121108 | ||||
| 2 | EV_COLLECTION_CHANGED | Call by reference | Type reference (TYPE) | ABAP_BOOL | 20121108 | ||||
| 3 | EV_RANGE_CHANGE_ONLY | Call by reference | Type reference (TYPE) | ABAP_BOOL | 20121126 | ||||
| 4 | EV_SELECTION_CHANGED | Call by reference | Type reference (TYPE) | ABAP_BOOL | 20130226 | ||||
| 5 | IO_CONTEXT_NODE | Call by reference | Object reference (TYPE REF TO) | IF_WD_CONTEXT_NODE | 20121108 |
Method _DETERMINE_UPDATE on class CL_WDR_DATA_MODEL has no exception.
Method _GET_ABSOLUTE_MODEL_PATH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IV_MODEL_PATH | Call by reference | Type reference (TYPE) | STRING | 20130625 | ||||
| 2 | RV_MODEL_PATH | Value transfer | Type reference (TYPE) | STRING | 20130625 |
Method _GET_ABSOLUTE_MODEL_PATH on class CL_WDR_DATA_MODEL has no exception.
Method _GET_RELATIVE_MODEL_PATH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IV_MODEL_PATH | Call by reference | Type reference (TYPE) | STRING | 20130625 | ||||
| 2 | RV_MODEL_PATH | Value transfer | Type reference (TYPE) | STRING | 20130625 |
Method _GET_RELATIVE_MODEL_PATH on class CL_WDR_DATA_MODEL has no exception.
Method _PREV_NODE_NAME Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | END_OFFSET | Call by reference | Type reference (TYPE) | I | 20121031 | ||||
| 2 | NODE_NAME | Call by reference | Type reference (TYPE) | STRING | 20121031 | ||||
| 3 | PATH | Call by reference | Type reference (TYPE) | STRING | 20121031 |
Method _PREV_NODE_NAME on class CL_WDR_DATA_MODEL has no exception.
Method _VALIDATE_JSON Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IV_JSON_STRING | Call by reference | Type reference (TYPE) | STRING | 20130204 | ||||
| 2 | RV_VALID | Value transfer | Type reference (TYPE) | ABAP_BOOL | 20130204 |
Method _VALIDATE_JSON on class CL_WDR_DATA_MODEL has no exception.
Method _VALIDATE_MODEL_LIST Signature
Method _VALIDATE_MODEL_LIST on class CL_WDR_DATA_MODEL has no parameter.
Method _VALIDATE_MODEL_LIST on class CL_WDR_DATA_MODEL has no exception.
History
| Last changed by/on | SAP | 20141120 |
| SAP Release Created in | 740 |