-
Notifications
You must be signed in to change notification settings - Fork 3
/
plantuml.txt
145 lines (123 loc) · 3.4 KB
/
plantuml.txt
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
@startuml
package "Content" {
interface ZIF_ABAK_CONTENT {
+get()
+invalidate()
+get_type()
}
abstract class ZCL_ABAK_CONTENT {
{abstract} #load()
}
ZCL_ABAK_CONTENT_DATABASE --|> ZCL_ABAK_CONTENT
ZCL_ABAK_CONTENT_FILE --|> ZCL_ABAK_CONTENT
ZCL_ABAK_CONTENT_INLINE --|> ZCL_ABAK_CONTENT
ZCL_ABAK_CONTENT_RFC --|> ZCL_ABAK_CONTENT
ZCL_ABAK_CONTENT_SET --|> ZCL_ABAK_CONTENT
ZCL_ABAK_CONTENT_SO10 --|> ZCL_ABAK_CONTENT
ZCL_ABAK_CONTENT_URL --|> ZCL_ABAK_CONTENT
class ZCL_ABAK_CONTENT_FACTORY {
[static} +get_instance()
}
ZCL_ABAK_CONTENT_FACTORY o.. ZCL_ABAK_CONTENT_DATABASE
ZCL_ABAK_CONTENT_FACTORY o.. ZCL_ABAK_CONTENT_FILE
ZCL_ABAK_CONTENT_FACTORY o.. ZCL_ABAK_CONTENT_INLINE
ZCL_ABAK_CONTENT_FACTORY o.. ZCL_ABAK_CONTENT_RFC
ZCL_ABAK_CONTENT_FACTORY o.. ZCL_ABAK_CONTENT_SET
ZCL_ABAK_CONTENT_FACTORY o.. ZCL_ABAK_CONTENT_SO10
ZCL_ABAK_CONTENT_FACTORY o.. ZCL_ABAK_CONTENT_URL
ZCL_ABAK_CONTENT_FACTORY ..> ZIF_ABAK_CONTENT
}
package "Format" {
interface ZIF_ABAK_FORMAT {
+get_data()
+get_name()
+invalidate()
}
abstract class ZCL_ABAK_FORMAT {
#add_kv()
}
class ZCL_ABAK_FORMAT_CSV
ZCL_ABAK_FORMAT_CSV --|> ZCL_ABAK_FORMAT
class ZCL_ABAK_FORMAT_INTERNAL
ZCL_ABAK_FORMAT_INTERNAL --|> ZCL_ABAK_FORMAT
class ZCL_ABAK_FORMAT_JSON
ZCL_ABAK_FORMAT_JSON --|> ZCL_ABAK_FORMAT
class ZCL_ABAK_FORMAT_XML
ZCL_ABAK_FORMAT_XML --|> ZCL_ABAK_FORMAT
class ZCL_ABAK_FORMAT_FACTORY {
{static} +get_instance()
{static} +get_custom_instance()
}
ZCL_ABAK_FORMAT_FACTORY ..> ZIF_ABAK_FORMAT
ZCL_ABAK_FORMAT_FACTORY o.. ZCL_ABAK_FORMAT_CSV
ZCL_ABAK_FORMAT_FACTORY o.. ZCL_ABAK_FORMAT_INTERNAL
ZCL_ABAK_FORMAT_FACTORY o.. ZCL_ABAK_FORMAT_JSON
ZCL_ABAK_FORMAT_FACTORY o.. ZCL_ABAK_FORMAT_XML
}
package "Shared Objects" {
class ZCL_ABAK_SHM_AREA
ZCL_ABAK_SHM_AREA --|> CL_SHM_AREA
ZCL_ABAK_SHM_AREA *.. ZCL_ABAK_SHM_ROOT
class ZCL_ABAK_SHM_ROOT {
+get_data()
}
}
package "Data" {
interface ZIF_ABAK_DATA {
+read()
+get_name()
+invalidate()
}
interface ZIF_ABAK_DATA_GET_DATA {
+get_data()
}
abstract class ZCL_ABAK_DATA
ZCL_ABAK_DATA ..|> ZIF_ABAK_DATA
class ZCL_ABAK_DATA_NORMAL
ZCL_ABAK_DATA_NORMAL --|> ZCL_ABAK_DATA
ZCL_ABAK_DATA_NORMAL o.. ZIF_ABAK_FORMAT
ZCL_ABAK_DATA_NORMAL o.. ZIF_ABAK_CONTENT
class ZCL_ABAK_DATA_SHM
ZCL_ABAK_DATA_SHM --|> ZCL_ABAK_DATA
ZCL_ABAK_DATA_SHM *.. ZCL_ABAK_SHM_AREA
ZCL_ABAK_DATA_SHM *.. ZCL_ABAK_SHM_ROOT
class ZCL_ABAK_DATA_FACTORY {
{static} +get_standard_instance()
{static} +get_custom_instance()
}
ZCL_ABAK_DATA_FACTORY ..> ZIF_ABAK_DATA
ZCL_ABAK_DATA_FACTORY o.. ZCL_ABAK_DATA_NORMAL
ZCL_ABAK_DATA_FACTORY o.. ZCL_ABAK_DATA_SHM
ZCL_ABAK_DATA_FACTORY ..> ZCL_ABAK_FORMAT_FACTORY
ZCL_ABAK_DATA_FACTORY ..> ZCL_ABAK_CONTENT_FACTORY
ZCL_ABAK_DATA_FACTORY ..> ZIF_ABAK_FORMAT
ZCL_ABAK_DATA_FACTORY ..> ZIF_ABAK_CONTENT
ZCL_ABAK_SHM_ROOT ..> ZCL_ABAK_DATA_FACTORY
ZCL_ABAK_SHM_ROOT *.. ZIF_ABAK_DATA
}
package "Main" {
interface ZIF_ABAK {
+get_value()
+get_value_if_exists()
+get_range()
+get_range_if_exists()
+check_value()
+check_value_if_exists()
+invalidate()
}
class ZCL_ABAK
ZCL_ABAK ..|> ZIF_ABAK
ZCL_ABAK ..> ZIF_ABAK_DATA
class ZCL_ABAK_FACTORY {
{static} +get_standard_instance()
{static} +get_custom_instance()
{static} +get_zabak_instance()
}
ZCL_ABAK_FACTORY ..> ZCL_ABAK_DATA_FACTORY
ZCL_ABAK_FACTORY o-- ZCL_ABAK
ZCL_ABAK_FACTORY ..> ZIF_ABAK
ZCL_ABAK_FACTORY ..> ZIF_ABAK_DATA
ZCL_ABAK_FACTORY ..> ZIF_ABAK_FORMAT
ZCL_ABAK_FACTORY ..> ZIF_ABAK_CONTENT
}
@enduml