abapGit/src/persist/zcl_abapgit_persist_factory.clas.abap
2023-10-24 12:26:33 -04:00

62 lines
1.3 KiB
ABAP

CLASS zcl_abapgit_persist_factory DEFINITION
PUBLIC
CREATE PRIVATE
GLOBAL FRIENDS zcl_abapgit_persist_injector .
PUBLIC SECTION.
CLASS-METHODS get_repo
RETURNING
VALUE(ri_repo) TYPE REF TO zif_abapgit_persist_repo .
CLASS-METHODS get_repo_cs
RETURNING
VALUE(ri_repo_cs) TYPE REF TO zif_abapgit_persist_repo_cs .
CLASS-METHODS get_settings
RETURNING
VALUE(ri_settings) TYPE REF TO zif_abapgit_persist_settings .
PROTECTED SECTION.
PRIVATE SECTION.
CLASS-DATA gi_repo TYPE REF TO zif_abapgit_persist_repo .
CLASS-DATA gi_repo_cs TYPE REF TO zif_abapgit_persist_repo_cs .
CLASS-DATA gi_settings TYPE REF TO zif_abapgit_persist_settings .
ENDCLASS.
CLASS ZCL_ABAPGIT_PERSIST_FACTORY IMPLEMENTATION.
METHOD get_repo.
IF gi_repo IS INITIAL.
CREATE OBJECT gi_repo TYPE zcl_abapgit_persistence_repo.
ENDIF.
ri_repo = gi_repo.
ENDMETHOD.
METHOD get_repo_cs.
IF gi_repo_cs IS INITIAL.
CREATE OBJECT gi_repo_cs TYPE zcl_abapgit_persistence_repo.
ENDIF.
ri_repo_cs = gi_repo_cs.
ENDMETHOD.
METHOD get_settings.
IF gi_settings IS INITIAL.
CREATE OBJECT gi_settings TYPE zcl_abapgit_persist_settings.
ENDIF.
ri_settings = gi_settings.
ENDMETHOD.
ENDCLASS.