package Ġorg . kal as im . scratch Ċ Ċ import Ġkotlin . properties . Deleg ates ĊĊ Ċ // object ĠInt Monitoring Examples Ġ{ Ċ // ĠĠĠ Ġ@ Jvm Static Ċ // ĠĠĠ Ġfun Ġmain () Ġ{ Ċ // Ċ // ĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġhttps :// stackoverflow . com / questions / 5 4 3 1 3 8 3 9 / how - to - set - up - a - listener - for - a - variable - in - kotlin Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġenv Ġ= ĠEnvironment () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġbar Monitor Ġ= ĠMetric Timeline () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġvar Ġbar : ĠInt Ġby ĠDeleg ates . observable ( 0 ) Ġ{ Ġproperty , ĠoldValue , ĠnewValue Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" New ĠValue Ġ$ newValue ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Old ĠValue Ġ$ oldValue ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġbar Monitor . add Value ( newValue ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġbar ++ Ċ // Ċ // ĠĠĠĠĠĠĠ Ġbar Monitor . print Histogram () Ċ // Ċ // ĠĠĠ Ġ} Ċ // Ċ //} Ċ Ċ // ĠTrack ed Ġas Ġhttps :// yout rack . jetbrains . com / issue / KT - 4 3 9 1 2 Ċ // object ĠSimpl ified Int Monitor Ġ{ Ċ // Ċ // ĠĠĠ Ġ@ Jvm Static Ċ // ĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ Ċ // Ċ // ĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġhttps :// stackoverflow . com / questions / 5 4 3 1 3 8 3 9 / how - to - set - up - a - listener - for - a - variable - in - kotlin Ċ // ĠĠĠĠĠĠĠ Ġclass ĠMonitor Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmy Value : ĠInt Ġ= Ġ 0 Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġtimeline Ġ= ĠMonitor () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġvar Ġbar : ĠInt Ġby ĠDeleg ates . observable ( 0 ) Ġ{ Ġproperty , ĠoldValue , ĠnewValue Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" New ĠValue Ġ$ newValue ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Old ĠValue Ġ$ oldValue ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġtimeline . my Value Ġ= ĠnewValue Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġbar ++ Ċ // Ċ // ĠĠĠĠĠĠĠ Ġprintln ( timeline . my Value ) Ċ // Ċ // ĠĠĠ Ġ} Ċ //} Ċ Ċ object ĠSimp lf ied Int Monitor With Wrapper Class Ġ{ ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠMonitor Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmy Value : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġclass ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġhttps :// stackoverflow . com / questions / 5 4 3 1 3 8 3 9 / how - to - set - up - a - listener - for - a - variable - in - kotlin ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimeline Ġ= ĠMonitor () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbar : ĠInt Ġby ĠDeleg ates . observable ( 0 ) Ġ{ Ġproperty , ĠoldValue , ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" New ĠValue Ġ$ newValue ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Old ĠValue Ġ$ oldValue ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeline . my Value Ġ= ĠnewValue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġfoo Ġ= ĠFoo () ĊĠĠĠĠĠĠĠ Ġfoo . bar ++ ĊĊĠĠĠĠĠĠĠ Ġprintln ( foo . bar ) ĊĊĠĠĠ Ġ} Ċ } Ċ