package Ġcom . ba eld ung . nested Ċ Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ class ĠComputer ( val Ġmodel : ĠString ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġorigin Country Ġ= Ġ" China " ĊĠĠĠĠĠĠĠ Ġfun Ġget Built Date (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" 2 0 1 8 - 0 5 - 2 3 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlog : ĠLogger Ġ= ĠLoggerFactory . getLogger ( Computer :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Nested Ġclass ĊĠĠĠ Ġclass ĠM other Board ( val Ġmanufacturer : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Info () Ġ= Ġ" Made Ġby Ġ$ manufacturer Ġinstalled Ġin Ġ$ origin Country Ġ- Ġ${ get Built Date () }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Inner Ġclass ĊĠĠĠ Ġinner Ġclass ĠHard Disk ( val Ġsize In Gb : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Info () Ġ= Ġ" Installed Ġon Ġ${ this @ Computer } Ġwith Ġ$ size In Gb ĠGB " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠSwitch er Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon (): ĠString ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠProt ector Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġsmart () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpower On (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Local Ġclass ĊĠĠĠĠĠĠĠ Ġvar Ġdefault Color Ġ= Ġ" Blue " ĊĊĠĠĠĠĠĠĠ Ġclass ĠLed ( val Ġcolor : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġblink (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" blink ing Ġ$ color " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġchange Default Power On Color () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Color Ġ= Ġ" V io let " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpower Led Ġ= ĠLed (" Green ") ĊĠĠĠĠĠĠĠ Ġlog . debug (" default Color Ġis Ġ$ default Color ") ĊĠĠĠĠĠĠĠ Ġpower Led . change Default Power On Color () ĊĠĠĠĠĠĠĠ Ġlog . debug (" default Color Ġchanged Ġinside ĠLed Ġclass Ġto Ġ$ default Color ") ĊĠĠĠĠĠĠĠ Ġ// Anonymous Ġobject ĊĠĠĠĠĠĠĠ Ġval Ġpower Switch Ġ= Ġobject Ġ: ĠSwitch er , ĠProt ector Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpower Led . blink () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsmart () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug (" Smart Ġprotection Ġis Ġimplemented ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġchange Default Power On Color () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Color Ġ= Ġ" Yellow " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpower Switch . change Default Power On Color () ĊĠĠĠĠĠĠĠ Ġlog . debug (" default Color Ġchanged Ġinside Ġpower Switch Ġanonymous Ġobject Ġto Ġ$ default Color ") ĊĠĠĠĠĠĠĠ Ġreturn Ġpower Switch . on () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Computer ( model =$ model )" ĊĠĠĠ Ġ} Ċ }