java-design-patterns/pipeline/etc/pipeline.urm.puml
2019-12-07 18:03:49 +02:00

36 lines
962 B
Plaintext

@startuml
package com.iluwatar.pipeline {
class App {
+ App()
+ main(args : String[]) {static}
}
~class ConvertToCharArrayHandler {
- LOGGER : Logger {static}
~ ConvertToCharArrayHandler()
+ process(input : String) : char[]
}
~interface Handler<I, O> {
+ process(I) : O {abstract}
}
~class Pipeline<I, O> {
- currentHandler : Handler<I, O>
~ Pipeline<I, O>(currentHandler : Handler<I, O>)
~ addHandler(newHandler : Handler<O, K>) : Pipeline<I, K>
~ execute(input : I) : O
}
~class RemoveAlphabetsHandler {
- LOGGER : Logger {static}
~ RemoveAlphabetsHandler()
+ process(input : String) : String
}
~class RemoveDigitsHandler {
- LOGGER : Logger {static}
~ RemoveDigitsHandler()
+ process(input : String) : String
}
}
Pipeline --> "-currentHandler" Handler
ConvertToCharArrayHandler ..|> Handler
RemoveAlphabetsHandler ..|> Handler
RemoveDigitsHandler ..|> Handler
@enduml