mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00

This commit adds an indirection for function module GUI_IS_AVAILABLE via interface ZIF_ABAPGIT_GUI_FUNCTIONS and factory ZCL_ABAPGIT_UI_FACTORY. For tests the implementation can be replaced with ZCL_ABAPGIT_UI_INJECTOR=>SET_GUI_FUNCTIONS
64 lines
1.3 KiB
ABAP
64 lines
1.3 KiB
ABAP
CLASS zcl_abapgit_ui_factory DEFINITION
|
|
PUBLIC
|
|
CREATE PRIVATE
|
|
GLOBAL FRIENDS zcl_abapgit_ui_injector.
|
|
|
|
PUBLIC SECTION.
|
|
CLASS-METHODS:
|
|
get_popups
|
|
RETURNING
|
|
VALUE(ri_popups) TYPE REF TO zif_abapgit_popups,
|
|
|
|
get_tag_popups
|
|
RETURNING
|
|
VALUE(ri_tag_popups) TYPE REF TO zif_abapgit_tag_popups,
|
|
|
|
get_gui_functions
|
|
RETURNING
|
|
VALUE(ri_gui_functions) TYPE REF TO zif_abapgit_gui_functions.
|
|
|
|
PRIVATE SECTION.
|
|
CLASS-DATA:
|
|
gi_popups TYPE REF TO zif_abapgit_popups,
|
|
gi_tag_popups TYPE REF TO zif_abapgit_tag_popups,
|
|
gi_gui_functions TYPE REF TO zif_abapgit_gui_functions.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS zcl_abapgit_ui_factory IMPLEMENTATION.
|
|
|
|
METHOD get_popups.
|
|
|
|
IF gi_popups IS INITIAL.
|
|
CREATE OBJECT gi_popups TYPE zcl_abapgit_popups.
|
|
ENDIF.
|
|
|
|
ri_popups = gi_popups.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD get_tag_popups.
|
|
|
|
IF gi_tag_popups IS INITIAL.
|
|
CREATE OBJECT gi_tag_popups TYPE zcl_abapgit_tag_popups.
|
|
ENDIF.
|
|
|
|
ri_tag_popups = gi_tag_popups.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD get_gui_functions.
|
|
|
|
IF gi_gui_functions IS INITIAL.
|
|
CREATE OBJECT gi_gui_functions TYPE zcl_abapgit_gui_functions.
|
|
ENDIF.
|
|
|
|
ri_gui_functions = gi_gui_functions.
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|