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 |