39 lines
817 B
Plaintext
39 lines
817 B
Plaintext
@startuml
|
|
package com.iluwatar.state {
|
|
class AngryState {
|
|
- LOGGER : Logger {static}
|
|
- mammoth : Mammoth
|
|
+ AngryState(mammoth : Mammoth)
|
|
+ observe()
|
|
+ onEnterState()
|
|
}
|
|
class App {
|
|
+ App()
|
|
+ main(args : String[]) {static}
|
|
}
|
|
class Mammoth {
|
|
- state : State
|
|
+ Mammoth()
|
|
- changeStateTo(newState : State)
|
|
+ observe()
|
|
+ timePasses()
|
|
+ toString() : String
|
|
}
|
|
class PeacefulState {
|
|
- LOGGER : Logger {static}
|
|
- mammoth : Mammoth
|
|
+ PeacefulState(mammoth : Mammoth)
|
|
+ observe()
|
|
+ onEnterState()
|
|
}
|
|
interface State {
|
|
+ observe() {abstract}
|
|
+ onEnterState() {abstract}
|
|
}
|
|
}
|
|
PeacefulState --> "-mammoth" Mammoth
|
|
AngryState --> "-mammoth" Mammoth
|
|
Mammoth --> "-state" State
|
|
AngryState ..|> State
|
|
PeacefulState ..|> State
|
|
@enduml |