forked from nus-cs2103-AY1920S1/addressbook-level3
-
Notifications
You must be signed in to change notification settings - Fork 4
/
LogicClassDiagram.puml
62 lines (52 loc) · 1.32 KB
/
LogicClassDiagram.puml
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
@startuml
!include style.puml
skinparam arrowThickness 1.1
skinparam arrowColor LOGIC_COLOR_T4
skinparam classBackgroundColor LOGIC_COLOR
package Logic {
package Parser {
Interface Parser <<Interface>>
Class CommandParser
Class XYZCommandParser
Class CliSyntax
Class ParserUtil
Class ArgumentMultimap
Class ArgumentTokenizer
Class Prefix
}
package Command {
Class XYZCommand
Class CommandResult
Class "{abstract}\nCommand" as Command
}
Interface Logic <<Interface>>
Class LogicManager
}
package Model{
Class HiddenModel #FFFFFF
}
Class HiddenOutside #FFFFFF
HiddenOutside ..> Logic
LogicManager .up.|> Logic
LogicManager -->"1" CommandParser
CommandParser .left.> XYZCommandParser: creates >
XYZCommandParser ..> XYZCommand : creates >
XYZCommandParser ..|> Parser
XYZCommandParser ..> ArgumentMultimap
XYZCommandParser ..> ArgumentTokenizer
ArgumentTokenizer .left.> ArgumentMultimap
XYZCommandParser ..> CliSyntax
CliSyntax ..> Prefix
XYZCommandParser ..> ParserUtil
ParserUtil .down.> Prefix
ArgumentTokenizer .down.> Prefix
XYZCommand -up-|> Command
LogicManager .left.> Command : executes >
LogicManager --> Model
Command .right.> Model
note right of XYZCommand: XYZCommand = AddCommand, \nFindCommand, etc
Logic ..> CommandResult
LogicManager .down.> CommandResult
Command .up.> CommandResult
CommandResult -[hidden]-> Parser
@enduml