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

49 lines
1.2 KiB
Plaintext

@startuml
package com.iluwatar.memento {
class App {
- LOGGER : Logger {static}
+ App()
+ main(args : String[]) {static}
}
class Star {
- ageYears : int
- massTons : int
- type : StarType
+ Star(startType : StarType, startAge : int, startMass : int)
~ getMemento() : StarMemento
~ setMemento(memento : StarMemento)
+ timePasses()
+ toString() : String
}
-class StarMementoInternal {
- ageYears : int
- massTons : int
- type : StarType
- StarMementoInternal()
+ getAgeYears() : int
+ getMassTons() : int
+ getType() : StarType
+ setAgeYears(ageYears : int)
+ setMassTons(massTons : int)
+ setType(type : StarType)
}
interface StarMemento {
}
enum StarType {
+ DEAD {static}
+ RED_GIANT {static}
+ SUN {static}
+ SUPERNOVA {static}
+ UNDEFINED {static}
+ WHITE_DWARF {static}
- title : String
+ toString() : String
+ valueOf(name : String) : StarType {static}
+ values() : StarType[] {static}
}
}
StarMementoInternal --> "-type" StarType
Star --> "-type" StarType
StarMementoInternal ..+ Star
StarMementoInternal ..|> StarMemento
@enduml