#1113 Add uml-reverse-mapper plugin
This commit is contained in:
		
							
								
								
									
										107
									
								
								event-sourcing/etc/event-sourcing.urm.puml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								event-sourcing/etc/event-sourcing.urm.puml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,107 @@ | ||||
| @startuml | ||||
| package com.iluwatar.event.sourcing.processor { | ||||
|   class DomainEventProcessor { | ||||
|     - processorJournal : JsonFileJournal | ||||
|     + DomainEventProcessor() | ||||
|     + process(domainEvent : DomainEvent) | ||||
|     + recover() | ||||
|     + reset() | ||||
|   } | ||||
|   class JsonFileJournal { | ||||
|     - events : List<String> | ||||
|     - file : File | ||||
|     - index : int | ||||
|     + JsonFileJournal() | ||||
|     + readNext() : DomainEvent | ||||
|     + reset() | ||||
|     + write(domainEvent : DomainEvent) | ||||
|   } | ||||
| } | ||||
| package com.iluwatar.event.sourcing.event { | ||||
|   class AccountCreateEvent { | ||||
|     - accountNo : int | ||||
|     - owner : String | ||||
|     + AccountCreateEvent(sequenceId : long, createdTime : long, accountNo : int, owner : String) | ||||
|     + getAccountNo() : int | ||||
|     + getOwner() : String | ||||
|     + process() | ||||
|   } | ||||
|   abstract class DomainEvent { | ||||
|     - createdTime : long | ||||
|     - eventClassName : String | ||||
|     - realTime : boolean | ||||
|     - sequenceId : long | ||||
|     + DomainEvent(sequenceId : long, createdTime : long, eventClassName : String) | ||||
|     + getCreatedTime() : long | ||||
|     + getEventClassName() : String | ||||
|     + getSequenceId() : long | ||||
|     + isRealTime() : boolean | ||||
|     + process() {abstract} | ||||
|     + setRealTime(realTime : boolean) | ||||
|   } | ||||
|   class MoneyDepositEvent { | ||||
|     - accountNo : int | ||||
|     - money : BigDecimal | ||||
|     + MoneyDepositEvent(sequenceId : long, createdTime : long, accountNo : int, money : BigDecimal) | ||||
|     + getAccountNo() : int | ||||
|     + getMoney() : BigDecimal | ||||
|     + process() | ||||
|   } | ||||
|   class MoneyTransferEvent { | ||||
|     - accountNoFrom : int | ||||
|     - accountNoTo : int | ||||
|     - money : BigDecimal | ||||
|     + MoneyTransferEvent(sequenceId : long, createdTime : long, money : BigDecimal, accountNoFrom : int, accountNoTo : int) | ||||
|     + getAccountNoFrom() : int | ||||
|     + getAccountNoTo() : int | ||||
|     + getMoney() : BigDecimal | ||||
|     + process() | ||||
|   } | ||||
| } | ||||
| package com.iluwatar.event.sourcing.app { | ||||
|   class App { | ||||
|     + ACCOUNT_OF_DAENERYS : int {static} | ||||
|     + ACCOUNT_OF_JON : int {static} | ||||
|     - LOGGER : Logger {static} | ||||
|     + App() | ||||
|     + main(args : String[]) {static} | ||||
|   } | ||||
| } | ||||
| package com.iluwatar.event.sourcing.state { | ||||
|   class AccountAggregate { | ||||
|     - accounts : Map<Integer, Account> {static} | ||||
|     - AccountAggregate() | ||||
|     + getAccount(accountNo : int) : Account {static} | ||||
|     + putAccount(account : Account) {static} | ||||
|     + resetState() {static} | ||||
|   } | ||||
| } | ||||
| package com.iluwatar.event.sourcing.domain { | ||||
|   class Account { | ||||
|     - LOGGER : Logger {static} | ||||
|     - MSG : String {static} | ||||
|     - accountNo : int | ||||
|     - money : BigDecimal | ||||
|     - owner : String | ||||
|     + Account(accountNo : int, owner : String) | ||||
|     + copy() : Account | ||||
|     - depositMoney(money : BigDecimal) | ||||
|     + getAccountNo() : int | ||||
|     + getMoney() : BigDecimal | ||||
|     + getOwner() : String | ||||
|     - handleDeposit(money : BigDecimal, realTime : boolean) | ||||
|     + handleEvent(accountCreateEvent : AccountCreateEvent) | ||||
|     + handleEvent(moneyDepositEvent : MoneyDepositEvent) | ||||
|     + handleTransferFromEvent(moneyTransferEvent : MoneyTransferEvent) | ||||
|     + handleTransferToEvent(moneyTransferEvent : MoneyTransferEvent) | ||||
|     - handleWithdrawal(money : BigDecimal, realTime : boolean) | ||||
|     + setMoney(money : BigDecimal) | ||||
|     + toString() : String | ||||
|     - withdrawMoney(money : BigDecimal) | ||||
|   } | ||||
| } | ||||
| DomainEventProcessor -->  "-processorJournal" JsonFileJournal | ||||
| AccountCreateEvent --|> DomainEvent  | ||||
| MoneyDepositEvent --|> DomainEvent  | ||||
| MoneyTransferEvent --|> DomainEvent  | ||||
| @enduml | ||||
		Reference in New Issue
	
	Block a user