#467 data-bus: etc: add urm diagrams
This commit is contained in:
		
							
								
								
									
										77
									
								
								data-bus/etc/data-bus.urm.puml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								data-bus/etc/data-bus.urm.puml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,77 @@ | ||||
| @startuml | ||||
| package com.iluwatar.databus { | ||||
|   class AbstractDataType { | ||||
|     - dataBus : DataBus | ||||
|     + AbstractDataType() | ||||
|     + getDataBus() : DataBus | ||||
|     + setDataBus(dataBus : DataBus) | ||||
|   } | ||||
|   ~class App { | ||||
|     - log : Logger {static} | ||||
|     ~ App() | ||||
|     + main(args : String[]) {static} | ||||
|   } | ||||
|   class DataBus { | ||||
|     - INSTANCE : DataBus {static} | ||||
|     - listeners : Set<Member> | ||||
|     + DataBus() | ||||
|     + getInstance() : DataBus {static} | ||||
|     + publish(event : DataType) | ||||
|     + subscribe(member : Member) | ||||
|     + unsubscribe(member : Member) | ||||
|   } | ||||
|   interface DataType { | ||||
|     + getDataBus() : DataBus {abstract} | ||||
|     + setDataBus(DataBus) {abstract} | ||||
|   } | ||||
|   interface Member { | ||||
|     + accept(DataType) {abstract} | ||||
|   } | ||||
| } | ||||
| package com.iluwatar.databus.data { | ||||
|   class MessageData { | ||||
|     - message : String | ||||
|     + MessageData(message : String) | ||||
|     + getMessage() : String | ||||
|     + of(message : String) : DataType {static} | ||||
|   } | ||||
|   class StartingData { | ||||
|     - when : LocalDateTime | ||||
|     + StartingData(when : LocalDateTime) | ||||
|     + getWhen() : LocalDateTime | ||||
|     + of(when : LocalDateTime) : DataType {static} | ||||
|   } | ||||
|   class StoppingData { | ||||
|     - when : LocalDateTime | ||||
|     + StoppingData(when : LocalDateTime) | ||||
|     + getWhen() : LocalDateTime | ||||
|     + of(when : LocalDateTime) : DataType {static} | ||||
|   } | ||||
| } | ||||
| package com.iluwatar.databus.members { | ||||
|   class CounterMember { | ||||
|     - log : Logger {static} | ||||
|     - name : String | ||||
|     + CounterMember(name : String) | ||||
|     + accept(data : DataType) | ||||
|     - handleEvent(data : MessageData) | ||||
|   } | ||||
|   class StatusMember { | ||||
|     - id : int | ||||
|     - log : Logger {static} | ||||
|     + StatusMember(id : int) | ||||
|     + accept(data : DataType) | ||||
|     - handleEvent(data : StartingData) | ||||
|     - handleEvent(data : StoppingData) | ||||
|   } | ||||
| } | ||||
| AbstractDataType -->  "-dataBus" DataBus | ||||
| DataBus -->  "-INSTANCE" DataBus | ||||
| DataBus -->  "-listeners" Member | ||||
| AbstractDataType ..|> DataType  | ||||
| MessageData --|> AbstractDataType  | ||||
| StartingData --|> AbstractDataType  | ||||
| StoppingData --|> AbstractDataType  | ||||
| CounterMember ..|> Member  | ||||
| StatusMember ..|> Member  | ||||
| @enduml | ||||
		Reference in New Issue
	
	Block a user