-
Notifications
You must be signed in to change notification settings - Fork 0
/
core.uml
76 lines (63 loc) · 1.55 KB
/
core.uml
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
70
71
72
73
74
75
76
@startuml
package core{
package base {
note top of InputInterpreter
Parses the input it's
desired way and outputs numbers
1-10. No specific implementation.
Future implementation may include
physical devices
end note
abstract class InputInterpreter {
- system: TypingSystem
+ setTypingSystem(TypingSystem ts)
+ passInput(int key)
}
InputInterpreter -> TypingSystem: Nums 1-10
note bottom of TypingSystem
Holds the inputed values,
when needed values achieved
parses config file for needed
command and passes it to corresponding
function within the Commandable context
end note
abstract class TypingSystem {
- context: Commandable
+ input(int key)
+ executeCommand(String keys)
}
}
note top of base
The base package contains the classes and interfaces
necessary to implement the WIT system.
end note
package commands {
interface Commandable {
}
interface BasicCommandable extends AppendCommandable, MessageCommandable, DeleteCommandable {
}
interface AppendCommandable extends Commandable {
+ typingAppend(AppendCommand c)
}
interface MessageCommandable extends Commandable {
+ typingMessage(MessageCommand c)
}
interface DeleteCommandable extends Commandable {
+ typingDelete(DeleteCommand c)
}
abstract class Command {
}
class AppendCommand extends Command {
+ TYPE: Enum
- uppercase: String
- lowercase: String
}
class MessageCommand extends Command {
+ TYPE: Enum
}
class DeleteCommand extends Command {
+ TYPE: Enum
}
}
}
@enduml