53 lines
1.2 KiB
Plaintext
53 lines
1.2 KiB
Plaintext
@startuml
|
|
package com.iluwatar.acyclicvisitor {
|
|
interface AllModemVisitor {
|
|
}
|
|
class App {
|
|
+ App()
|
|
+ main(args : String[]) {static}
|
|
}
|
|
class ConfigureForDosVisitor {
|
|
- LOGGER : Logger {static}
|
|
+ ConfigureForDosVisitor()
|
|
+ visit(hayes : Hayes)
|
|
+ visit(zoom : Zoom)
|
|
}
|
|
class ConfigureForUnixVisitor {
|
|
- LOGGER : Logger {static}
|
|
+ ConfigureForUnixVisitor()
|
|
+ visit(zoom : Zoom)
|
|
}
|
|
class Hayes {
|
|
- LOGGER : Logger {static}
|
|
+ Hayes()
|
|
+ accept(modemVisitor : ModemVisitor)
|
|
+ toString() : String
|
|
}
|
|
interface HayesVisitor {
|
|
+ visit(Hayes) {abstract}
|
|
}
|
|
abstract class Modem {
|
|
+ Modem()
|
|
+ accept(ModemVisitor) {abstract}
|
|
}
|
|
interface ModemVisitor {
|
|
}
|
|
class Zoom {
|
|
- LOGGER : Logger {static}
|
|
+ Zoom()
|
|
+ accept(modemVisitor : ModemVisitor)
|
|
+ toString() : String
|
|
}
|
|
interface ZoomVisitor {
|
|
+ visit(Zoom) {abstract}
|
|
}
|
|
}
|
|
AllModemVisitor --|> ZoomVisitor
|
|
AllModemVisitor --|> HayesVisitor
|
|
ConfigureForDosVisitor ..|> AllModemVisitor
|
|
ConfigureForUnixVisitor ..|> ZoomVisitor
|
|
Hayes --|> Modem
|
|
HayesVisitor --|> ModemVisitor
|
|
Zoom --|> Modem
|
|
ZoomVisitor --|> ModemVisitor
|
|
@enduml |