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 |