41 lines
916 B
Plaintext
41 lines
916 B
Plaintext
@startuml
|
|
package com.iluwatar.nullobject {
|
|
class App {
|
|
+ App()
|
|
+ main(args : String[]) {static}
|
|
}
|
|
interface Node {
|
|
+ getLeft() : Node {abstract}
|
|
+ getName() : String {abstract}
|
|
+ getRight() : Node {abstract}
|
|
+ getTreeSize() : int {abstract}
|
|
+ walk() {abstract}
|
|
}
|
|
class NodeImpl {
|
|
- LOGGER : Logger {static}
|
|
- left : Node
|
|
- name : String
|
|
- right : Node
|
|
+ NodeImpl(name : String, left : Node, right : Node)
|
|
+ getLeft() : Node
|
|
+ getName() : String
|
|
+ getRight() : Node
|
|
+ getTreeSize() : int
|
|
+ walk()
|
|
}
|
|
class NullNode {
|
|
- instance : NullNode {static}
|
|
- NullNode()
|
|
+ getInstance() : NullNode {static}
|
|
+ getLeft() : Node
|
|
+ getName() : String
|
|
+ getRight() : Node
|
|
+ getTreeSize() : int
|
|
+ walk()
|
|
}
|
|
}
|
|
NullNode --> "-instance" NullNode
|
|
NodeImpl --> "-left" Node
|
|
NodeImpl ..|> Node
|
|
NullNode ..|> Node
|
|
@enduml |