Skip to content

Commit b5bdf2d

Browse files
committed
iluwatar#467 data-bus: etc: add urm diagrams
1 parent 3fd6887 commit b5bdf2d

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

data-bus/etc/data-bus.urm.png

59.7 KB
Loading

data-bus/etc/data-bus.urm.puml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
@startuml
2+
package com.iluwatar.databus {
3+
class AbstractDataType {
4+
- dataBus : DataBus
5+
+ AbstractDataType()
6+
+ getDataBus() : DataBus
7+
+ setDataBus(dataBus : DataBus)
8+
}
9+
~class App {
10+
- log : Logger {static}
11+
~ App()
12+
+ main(args : String[]) {static}
13+
}
14+
class DataBus {
15+
- INSTANCE : DataBus {static}
16+
- listeners : Set<Member>
17+
+ DataBus()
18+
+ getInstance() : DataBus {static}
19+
+ publish(event : DataType)
20+
+ subscribe(member : Member)
21+
+ unsubscribe(member : Member)
22+
}
23+
interface DataType {
24+
+ getDataBus() : DataBus {abstract}
25+
+ setDataBus(DataBus) {abstract}
26+
}
27+
interface Member {
28+
+ accept(DataType) {abstract}
29+
}
30+
}
31+
package com.iluwatar.databus.data {
32+
class MessageData {
33+
- message : String
34+
+ MessageData(message : String)
35+
+ getMessage() : String
36+
+ of(message : String) : DataType {static}
37+
}
38+
class StartingData {
39+
- when : LocalDateTime
40+
+ StartingData(when : LocalDateTime)
41+
+ getWhen() : LocalDateTime
42+
+ of(when : LocalDateTime) : DataType {static}
43+
}
44+
class StoppingData {
45+
- when : LocalDateTime
46+
+ StoppingData(when : LocalDateTime)
47+
+ getWhen() : LocalDateTime
48+
+ of(when : LocalDateTime) : DataType {static}
49+
}
50+
}
51+
package com.iluwatar.databus.members {
52+
class CounterMember {
53+
- log : Logger {static}
54+
- name : String
55+
+ CounterMember(name : String)
56+
+ accept(data : DataType)
57+
- handleEvent(data : MessageData)
58+
}
59+
class StatusMember {
60+
- id : int
61+
- log : Logger {static}
62+
+ StatusMember(id : int)
63+
+ accept(data : DataType)
64+
- handleEvent(data : StartingData)
65+
- handleEvent(data : StoppingData)
66+
}
67+
}
68+
AbstractDataType --> "-dataBus" DataBus
69+
DataBus --> "-INSTANCE" DataBus
70+
DataBus --> "-listeners" Member
71+
AbstractDataType ..|> DataType
72+
MessageData --|> AbstractDataType
73+
StartingData --|> AbstractDataType
74+
StoppingData --|> AbstractDataType
75+
CounterMember ..|> Member
76+
StatusMember ..|> Member
77+
@enduml

0 commit comments

Comments
 (0)