mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Refactor ZCL_ABAPGIT_OO_FACTORY (#6742)
This commit is contained in:
parent
6155b640ce
commit
674a04792a
|
@ -1,7 +1,7 @@
|
|||
CLASS zcl_abapgit_oo_base DEFINITION
|
||||
PUBLIC
|
||||
ABSTRACT
|
||||
CREATE PUBLIC .
|
||||
CREATE PROTECTED.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
CLASS zcl_abapgit_oo_class DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_abapgit_oo_base
|
||||
CREATE PUBLIC .
|
||||
CREATE PUBLIC
|
||||
GLOBAL FRIENDS zcl_abapgit_oo_factory.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@ CLASS zcl_abapgit_oo_factory DEFINITION PUBLIC.
|
|||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
make
|
||||
get_by_type
|
||||
IMPORTING
|
||||
iv_object_type TYPE tadir-object
|
||||
RETURNING
|
||||
VALUE(ri_object_oriented_object) TYPE REF TO zif_abapgit_oo_object_fnc,
|
||||
|
||||
make_by_name
|
||||
get_by_name
|
||||
IMPORTING
|
||||
iv_object_name TYPE seoclsname
|
||||
RETURNING
|
||||
|
@ -16,21 +16,13 @@ CLASS zcl_abapgit_oo_factory DEFINITION PUBLIC.
|
|||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA gi_object_oriented_object TYPE REF TO zif_abapgit_oo_object_fnc .
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_oo_factory IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD make.
|
||||
IF gi_object_oriented_object IS BOUND.
|
||||
ri_object_oriented_object = gi_object_oriented_object.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
METHOD get_by_type.
|
||||
IF iv_object_type = 'CLAS'.
|
||||
CREATE OBJECT ri_object_oriented_object TYPE zcl_abapgit_oo_class.
|
||||
ELSEIF iv_object_type = 'INTF'.
|
||||
|
@ -39,7 +31,7 @@ CLASS zcl_abapgit_oo_factory IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD make_by_name.
|
||||
METHOD get_by_name.
|
||||
|
||||
DATA:
|
||||
li_interface TYPE REF TO zif_abapgit_oo_object_fnc,
|
||||
|
@ -63,4 +55,5 @@ CLASS zcl_abapgit_oo_factory IMPLEMENTATION.
|
|||
zcx_abapgit_exception=>raise( |{ iv_object_name } is neither a class nor an interface| ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
CLASS zcl_abapgit_oo_interface DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_abapgit_oo_base
|
||||
CREATE PUBLIC .
|
||||
CREATE PUBLIC
|
||||
GLOBAL FRIENDS zcl_abapgit_oo_factory.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
|
|
|
@ -154,7 +154,7 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
io_files = io_files
|
||||
io_i18n_params = io_i18n_params ).
|
||||
|
||||
CREATE OBJECT mi_object_oriented_object_fct TYPE zcl_abapgit_oo_class.
|
||||
mi_object_oriented_object_fct = zcl_abapgit_oo_factory=>get_by_type( ms_item-obj_type ).
|
||||
|
||||
mv_classpool_name = cl_oo_classname_service=>get_classpool_name( |{ is_item-obj_name }| ).
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
|||
io_files = io_files
|
||||
io_i18n_params = io_i18n_params ).
|
||||
|
||||
mi_object_oriented_object_fct = zcl_abapgit_oo_factory=>make( ms_item-obj_type ).
|
||||
mi_object_oriented_object_fct = zcl_abapgit_oo_factory=>get_by_type( ms_item-obj_type ).
|
||||
|
||||
CREATE OBJECT li_aff_registry TYPE zcl_abapgit_aff_registry.
|
||||
|
||||
|
|
|
@ -216,7 +216,7 @@ CLASS zcl_abapgit_version IMPLEMENTATION.
|
|||
|
||||
" You should remember that accessing a class or an interface with syntax errors
|
||||
" gives us a shortdump. Therefore we do a syntax check here.
|
||||
zcl_abapgit_oo_factory=>make_by_name( lv_version_class )->syntax_check( lv_version_class ).
|
||||
zcl_abapgit_oo_factory=>get_by_name( lv_version_class )->syntax_check( lv_version_class ).
|
||||
|
||||
ASSIGN (lv_version_class)=>(lv_version_component) TO <lv_version>.
|
||||
IF sy-subrc = 0.
|
||||
|
|
Loading…
Reference in New Issue
Block a user