27 lines
		
	
	
		
			461 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			461 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | @startuml | ||
|  | package com.iluwatar.mutex { | ||
|  |   class App { | ||
|  |     + App() | ||
|  |     + main(args : String[]) {static} | ||
|  |   } | ||
|  |   class Jar { | ||
|  |     - beans : int | ||
|  |     - lock : Lock | ||
|  |     + Jar(beans : int, lock : Lock) | ||
|  |     + takeBean() : boolean | ||
|  |   } | ||
|  |   interface Lock { | ||
|  |     + acquire() {abstract} | ||
|  |     + release() {abstract} | ||
|  |   } | ||
|  |   class Mutex { | ||
|  |     - owner : Object | ||
|  |     + Mutex() | ||
|  |     + acquire() | ||
|  |     + getOwner() : Object | ||
|  |     + release() | ||
|  |   } | ||
|  | } | ||
|  | Jar -->  "-lock" Lock | ||
|  | Mutex ..|> Lock  | ||
|  | @enduml |