refactoring view local impl

This commit is contained in:
19ddb071-87e3-4bdd-9eee-59bb460e1d62 2023-06-15 17:39:52 +00:00
parent dd821818d3
commit 29db57d38e

View File

@ -1,71 +1,52 @@
CLASS lcl_utility DEFINITION INHERITING FROM cx_no_check. CLASS lcl_utility DEFINITION INHERITING FROM cx_no_check.
PUBLIC SECTION. PUBLIC SECTION.
CLASS-METHODS get_json_boolean CLASS-METHODS get_json_boolean
IMPORTING IMPORTING val TYPE any
val TYPE any RETURNING VALUE(result) TYPE string.
RETURNING
VALUE(result) TYPE string.
CLASS-METHODS check_is_boolean CLASS-METHODS check_is_boolean
IMPORTING IMPORTING val TYPE any
val TYPE any RETURNING VALUE(result) TYPE abap_bool.
RETURNING
VALUE(result) TYPE abap_bool.
CLASS-METHODS get_classname_by_ref CLASS-METHODS get_classname_by_ref
IMPORTING IMPORTING in TYPE REF TO object
in TYPE REF TO object RETURNING VALUE(result) TYPE string.
RETURNING
VALUE(result) TYPE string.
CLASS-METHODS get_replace CLASS-METHODS get_replace
IMPORTING IMPORTING iv_val TYPE clike
iv_val TYPE clike
iv_begin TYPE clike iv_begin TYPE clike
iv_end TYPE clike iv_end TYPE clike
iv_replace TYPE clike DEFAULT '' iv_replace TYPE clike DEFAULT ''
RETURNING RETURNING VALUE(result) TYPE string.
VALUE(result) TYPE string.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS. ENDCLASS.
CLASS lcl_utility IMPLEMENTATION. CLASS lcl_utility IMPLEMENTATION.
METHOD get_replace. METHOD get_replace.
result = iv_val. result = iv_val.
SPLIT result AT iv_begin INTO DATA(lv_1) DATA(lv_2). SPLIT result AT iv_begin INTO DATA(lv_1) DATA(lv_2).
SPLIT lv_2 AT iv_end INTO DATA(lv_dummy) DATA(lv_4). SPLIT lv_2 AT iv_end INTO DATA(lv_dummy) DATA(lv_4).
IF lv_4 IS NOT INITIAL. IF lv_4 IS NOT INITIAL.
result = lv_1 && iv_replace && lv_4. result = lv_1 && iv_replace && lv_4.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD get_classname_by_ref. METHOD get_classname_by_ref.
DATA(lv_classname) = cl_abap_classdescr=>get_class_name( in ). DATA(lv_classname) = cl_abap_classdescr=>get_class_name( in ).
result = substring_after( val = lv_classname sub = `\CLASS=` ). result = substring_after( val = lv_classname sub = `\CLASS=` ).
ENDMETHOD. ENDMETHOD.
METHOD get_json_boolean. METHOD get_json_boolean.
IF check_is_boolean( val ). IF check_is_boolean( val ).
result = COND #( WHEN val = abap_true THEN `true` ELSE `false` ). result = COND #( WHEN val = abap_true THEN `true` ELSE `false` ).
ELSE. ELSE.
result = val. result = val.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD check_is_boolean. METHOD check_is_boolean.
TRY. TRY.
DATA(lo_ele) = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_data( val ) ). DATA(lo_ele) = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_data( val ) ).
CASE lo_ele->get_relative_name( ). CASE lo_ele->get_relative_name( ).
@ -74,7 +55,5 @@ CLASS lcl_utility IMPLEMENTATION.
ENDCASE. ENDCASE.
CATCH cx_root. CATCH cx_root.
ENDTRY. ENDTRY.
ENDMETHOD. ENDMETHOD.
ENDCLASS. ENDCLASS.