All files / src/persist zcl_abapgit_persist_factory.clas.abap

96.46% Statements 109/113
0% Branches 0/2
100% Functions 0/0
96.46% Lines 109/113

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 1141x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x     1x 1x 1x 1x 1x 1x 1x 1x 1x     1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
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 .
    CLASS-METHODS get_background
      RETURNING
        VALUE(ri_background) TYPE REF TO zif_abapgit_persist_background.
    CLASS-METHODS get_packages
      RETURNING
        VALUE(ri_packages) TYPE REF TO zif_abapgit_persist_packages.
    CLASS-METHODS get_user
      IMPORTING
        !iv_user       TYPE sy-uname DEFAULT sy-uname
      RETURNING
        VALUE(ri_user) TYPE REF TO zif_abapgit_persist_user.
  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 .
    CLASS-DATA gi_background TYPE REF TO zif_abapgit_persist_background.
    CLASS-DATA gi_packages TYPE REF TO zif_abapgit_persist_packages.
    CLASS-DATA gi_current_user TYPE REF TO zif_abapgit_persist_user.
ENDCLASS.
 
 
 
CLASS zcl_abapgit_persist_factory IMPLEMENTATION.
 
 
  METHOD get_background.
 
    IF gi_background IS INITIAL.
      CREATE OBJECT gi_background TYPE zcl_abapgit_persist_background.
    ENDIF.
 
    ri_background = gi_background.
 
  ENDMETHOD.
 
 
  METHOD get_packages.
 
    IF gi_packages IS INITIAL.
      CREATE OBJECT gi_packages TYPE zcl_abapgit_persist_packages.
    ENDIF.
 
    ri_packages = gi_packages.
 
  ENDMETHOD.
 
 
  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.
 
 
  METHOD get_user.
 
    IF iv_user = sy-uname ##USER_OK.
      IF gi_current_user IS NOT BOUND.
        CREATE OBJECT gi_current_user TYPE zcl_abapgit_persistence_user.
      ENDIF.
      ri_user = gi_current_user.
    ELSE.
      CREATE OBJECT ri_user TYPE zcl_abapgit_persistence_user
        EXPORTING
          iv_user = iv_user.
    ENDIF.
 
  ENDMETHOD.
ENDCLASS.