forked from AY1920S1-CS2103T-T10-1/main
-
Notifications
You must be signed in to change notification settings - Fork 0
/
AndOrSequenceDiagramSimplified.puml
55 lines (45 loc) · 1.41 KB
/
AndOrSequenceDiagramSimplified.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
@startuml
autoactivate on
box TreeBuilder
participant ":AndOrTree" as AndOrTree
participant ":AndOrNode" as AndOrNode
participant ":AndNode" as AndNode
participant ":OrNode" as OrNode
participant ":DataNode" as DataNode
end box
[-> AndOrTree : buildTree(rootData, jsonString, function)
AndOrTree -> AndOrTree : buildTreeHelper(jsonNode, currNode, function)
alt isObject
AndOrTree -> AndOrNode : createNode(null, type)
alt isAndNode
create AndNode
AndOrNode -> AndNode
return newNode
else else
create OrNode
AndOrNode -> OrNode
return newNode
end
return newNode
loop child in jsonNode
AndOrTree -> AndOrTree : buildTreeHelper(child, newNode)
return
|||
end
else isArray
loop child in array
AndOrTree -> AndOrTree : buildTreeHelper(child, currNode)
return
|||
end
else else
AndOrTree -> AndOrNode : createNode(data)
create DataNode
AndOrNode -> DataNode : DataNode(data)
return newNode
return newNode
|||
end
return
[<--AndOrTree : tree
@enduml