@startuml package com.iluwatar.tolerantreader { class App { - LOGGER : Logger {static} + App() + main(args : String[]) {static} } class RainbowFish { - age : int - lengthMeters : int - name : String - serialVersionUID : long {static} - weightTons : int + RainbowFish(name : String, age : int, lengthMeters : int, weightTons : int) + getAge() : int + getLengthMeters() : int + getName() : String + getWeightTons() : int } class RainbowFishSerializer { - RainbowFishSerializer() + readV1(filename : String) : RainbowFish {static} + writeV1(rainbowFish : RainbowFish, filename : String) {static} + writeV2(rainbowFish : RainbowFishV2, filename : String) {static} } class RainbowFishV2 { - angry : boolean - hungry : boolean - serialVersionUID : long {static} - sleeping : boolean + RainbowFishV2(name : String, age : int, lengthMeters : int, weightTons : int) + RainbowFishV2(name : String, age : int, lengthMeters : int, weightTons : int, sleeping : boolean, hungry : boolean, angry : boolean) + getAngry() : boolean + getHungry() : boolean + getSleeping() : boolean } } RainbowFishV2 --|> RainbowFish @enduml