#1113 Add uml-reverse-mapper plugin
This commit is contained in:
		
							
								
								
									
										54
									
								
								retry/etc/retry.urm.puml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								retry/etc/retry.urm.puml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| @startuml | ||||
| package com.iluwatar.retry { | ||||
|   class App { | ||||
|     - LOG : Logger {static} | ||||
|     - op : BusinessOperation<String> {static} | ||||
|     + App() | ||||
|     - errorNoRetry() {static} | ||||
|     - errorWithRetry() {static} | ||||
|     - errorWithRetryExponentialBackoff() {static} | ||||
|     + main(args : String[]) {static} | ||||
|     - noErrors() {static} | ||||
|   } | ||||
|   interface BusinessOperation<T> { | ||||
|     + perform() : T {abstract} | ||||
|   } | ||||
|   class FindCustomer { | ||||
|     - customerId : String | ||||
|     - errors : Deque<BusinessException> | ||||
|     + FindCustomer(customerId : String, errors : BusinessException[]) | ||||
|     + perform() : String | ||||
|   } | ||||
|   class Retry<T> { | ||||
|     - attempts : AtomicInteger | ||||
|     - delay : long | ||||
|     - errors : List<Exception> | ||||
|     - maxAttempts : int | ||||
|     - op : BusinessOperation<T> | ||||
|     - test : Predicate<Exception> | ||||
|     + Retry<T>(op : BusinessOperation<T>, maxAttempts : int, delay : long, ignoreTests : Predicate<Exception>[]) | ||||
|     + attempts() : int | ||||
|     + errors() : List<Exception> | ||||
|     + perform() : T | ||||
|   } | ||||
|   class RetryExponentialBackoff<T> { | ||||
|     - RANDOM : Random {static} | ||||
|     - attempts : AtomicInteger | ||||
|     - errors : List<Exception> | ||||
|     - maxAttempts : int | ||||
|     - maxDelay : long | ||||
|     - op : BusinessOperation<T> | ||||
|     - test : Predicate<Exception> | ||||
|     + RetryExponentialBackoff<T>(op : BusinessOperation<T>, maxAttempts : int, maxDelay : long, ignoreTests : Predicate<Exception>[]) | ||||
|     + attempts() : int | ||||
|     + errors() : List<Exception> | ||||
|     + perform() : T | ||||
|   } | ||||
| } | ||||
| RetryExponentialBackoff -->  "-op" BusinessOperation | ||||
| Retry -->  "-op" BusinessOperation | ||||
| App -->  "-op" BusinessOperation | ||||
| FindCustomer ..|> BusinessOperation  | ||||
| Retry ..|> BusinessOperation  | ||||
| RetryExponentialBackoff ..|> BusinessOperation  | ||||
| @enduml | ||||
		Reference in New Issue
	
	Block a user