package Ġdemo . proto k ola . dol phin Ċ Ċ import Ġcom . can oo . platform . rem oting . server . D ol phin Action Ċ import Ġcom . can oo . platform . rem oting . server . D ol phin Controller Ċ import Ġcom . can oo . platform . rem oting . server . D ol phin Model Ċ import Ġcom . can oo . platform . server . spring . D ol phin Platform Application Ċ import Ġorg . springframework . boot . Spring Application Ċ import Ġorg . springframework . boot . web . support . SpringBoot Servlet Initializer Ċ import Ġorg . springframework . context . annotation . Property Source Ċ import Ġjavax . annotation . Post Construct Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ ĠSpring Application . run ( Foo Server Application :: class . java ) Ċ } Ċ Ċ @ D ol phin Platform Application Ċ @ Property Source (" classpath : demo / proto k ola / dol phin / application . properties ") Ċ open Ġclass ĠFoo Server Application Ġ: ĠSpring Boot Servlet Initializer () Ċ Ċ @ D ol phin Controller ( Foo Constants . FOO _ CONTROLLER _ NAME ) Ċ @ Suppress (" unused ") Ċ open Ġclass ĠFoo Controller Ġ{ ĊĠĠĠ Ġ@ D ol phin Model ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmodel : ĠFoo Property Bean ĊĊĠĠĠ Ġ@ Post Construct ĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" --- Ġcontroller Ġinit : Ġ$ model ") ĊĠĠĠĠĠĠĠ Ġmodel . string Property (). on Changed Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" --- Ġstring Ġchanged Ġto Ġ'${ event . newValue }' Ġ( from Ġ'${ event . oldValue } '). ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmodel . boolean Property (). on Changed Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" --- Ġboolean Ġchanged Ġto Ġ'${ event . newValue }' Ġ( from Ġ'${ event . oldValue } '). ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmodel . list Observable (). on Changed Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" --- Ġlist Ġchanged Ġwith Ġ'${ event . changes }. ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ D ol phin Action ĊĠĠĠ Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġmodel . string Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }