33 lines
836 B
Plaintext
33 lines
836 B
Plaintext
@startuml
|
|
package com.iluwatar.halfsynchalfasync {
|
|
class App {
|
|
- LOGGER : Logger {static}
|
|
+ App()
|
|
- ap(i : long) : long {static}
|
|
+ main(args : String[]) {static}
|
|
}
|
|
~class ArithmeticSumTask {
|
|
- numberOfElements : long
|
|
+ ArithmeticSumTask(numberOfElements : long)
|
|
+ call() : Long
|
|
+ onError(throwable : Throwable)
|
|
+ onPostCall(result : Long)
|
|
+ onPreCall()
|
|
}
|
|
interface AsyncTask<O> {
|
|
+ call() : O {abstract}
|
|
+ onError(Throwable) {abstract}
|
|
+ onPostCall(O) {abstract}
|
|
+ onPreCall() {abstract}
|
|
}
|
|
class AsynchronousService {
|
|
- LOGGER : Logger {static}
|
|
- service : ExecutorService
|
|
+ AsynchronousService(workQueue : BlockingQueue<Runnable>)
|
|
+ close()
|
|
+ execute(task : AsyncTask<T>)
|
|
}
|
|
}
|
|
ArithmeticSumTask ..+ App
|
|
ArithmeticSumTask ..|> AsyncTask
|
|
@enduml |