2016-08-30 13:29:12 +02:00
|
|
|
@startuml
|
|
|
|
package com.iluwatar.nullobject {
|
2016-09-18 17:51:09 +03:00
|
|
|
class App {
|
|
|
|
+ App()
|
|
|
|
+ main(args : String[]) {static}
|
|
|
|
}
|
2016-11-26 12:51:06 +01:00
|
|
|
interface Node {
|
|
|
|
+ getLeft() : Node {abstract}
|
|
|
|
+ getName() : String {abstract}
|
|
|
|
+ getRight() : Node {abstract}
|
|
|
|
+ getTreeSize() : int {abstract}
|
|
|
|
+ walk() {abstract}
|
|
|
|
}
|
2016-09-18 17:51:09 +03:00
|
|
|
class NodeImpl {
|
2016-11-26 12:51:06 +01:00
|
|
|
- LOGGER : Logger {static}
|
2016-09-18 17:51:09 +03:00
|
|
|
- left : Node
|
|
|
|
- name : String
|
|
|
|
- right : Node
|
|
|
|
+ NodeImpl(name : String, left : Node, right : Node)
|
2016-08-30 13:29:12 +02:00
|
|
|
+ getLeft() : Node
|
|
|
|
+ getName() : String
|
|
|
|
+ getRight() : Node
|
|
|
|
+ getTreeSize() : int
|
|
|
|
+ walk()
|
|
|
|
}
|
2016-09-18 17:51:09 +03:00
|
|
|
class NullNode {
|
|
|
|
- instance : NullNode {static}
|
|
|
|
- NullNode()
|
|
|
|
+ getInstance() : NullNode {static}
|
2016-08-30 13:29:12 +02:00
|
|
|
+ getLeft() : Node
|
|
|
|
+ getName() : String
|
|
|
|
+ getRight() : Node
|
|
|
|
+ getTreeSize() : int
|
|
|
|
+ walk()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
NullNode --> "-instance" NullNode
|
|
|
|
NodeImpl --> "-left" Node
|
|
|
|
NodeImpl ..|> Node
|
2016-09-18 17:51:09 +03:00
|
|
|
NullNode ..|> Node
|
2016-08-30 13:29:12 +02:00
|
|
|
@enduml
|