abapGit/src/ui/zcl_abapgit_ui_factory.clas.abap
sbcgua 4dee27fc1e Gui internals refactoring (#2180)
* GUI internals refactoring

* unify string conversion calls part1
2018-12-04 06:33:35 +01:00

90 lines
1.9 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.
CLASS-METHODS: get_gui
RETURNING
VALUE(ro_gui) TYPE REF TO zcl_abapgit_gui
RAISING
zcx_abapgit_exception.
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,
go_gui TYPE REF TO zcl_abapgit_gui.
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.
METHOD get_gui.
DATA:
li_router TYPE REF TO zif_abapgit_gui_router,
li_asset_man TYPE REF TO zif_abapgit_gui_asset_manager.
IF go_gui IS INITIAL.
CREATE OBJECT li_router TYPE zcl_abapgit_gui_router.
CREATE OBJECT li_asset_man TYPE zcl_abapgit_gui_asset_manager.
CREATE OBJECT go_gui
EXPORTING
ii_router = li_router
ii_asset_man = li_asset_man.
ENDIF.
ro_gui = go_gui.
ENDMETHOD.
ENDCLASS.