Repository navigation
Expand file tree
/
Copy pathmediator.urm.puml
More file actions
69 lines (69 loc) · 1.53 KB
/
Copy pathmediator.urm.puml
File metadata and controls
69 lines (69 loc) · 1.53 KB
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
@startuml
package com.iluwatar.mediator {
enum Action {
+ ENEMY {static}
+ GOLD {static}
+ HUNT {static}
+ NONE {static}
+ TALE {static}
- description : String
- title : String
+ getDescription() : String
+ toString() : String
+ valueOf(name : String) : Action {static}
+ values() : Action[] {static}
}
class App {
+ App()
+ main(args : String[]) {static}
}
class Hobbit {
+ Hobbit()
+ toString() : String
}
class Hunter {
+ Hunter()
+ toString() : String
}
interface Party {
+ act(PartyMember, Action) {abstract}
+ addMember(PartyMember) {abstract}
}
class PartyImpl {
- members : List<PartyMember>
+ PartyImpl()
+ act(actor : PartyMember, action : Action)
+ addMember(member : PartyMember)
}
interface PartyMember {
+ act(Action) {abstract}
+ joinedParty(Party) {abstract}
+ partyAction(Action) {abstract}
}
abstract class PartyMemberBase {
- LOGGER : Logger {static}
# party : Party
+ PartyMemberBase()
+ act(action : Action)
+ joinedParty(party : Party)
+ partyAction(action : Action)
+ toString() : String {abstract}
}
class Rogue {
+ Rogue()
+ toString() : String
}
class Wizard {
+ Wizard()
+ toString() : String
}
}
PartyImpl --> "-members" PartyMember
PartyMemberBase --> "-party" Party
Hobbit --|> PartyMemberBase
Hunter --|> PartyMemberBase
PartyImpl ..|> Party
PartyMemberBase ..|> PartyMember
Rogue --|> PartyMemberBase
Wizard --|> PartyMemberBase
@enduml