package Ġcom . so yle . stories . character . profile Ċ Ċ import Ġcom . so yle . stories . character . name Variant . add Name Variant . Character Name Variant Added Notifier Ċ import Ġcom . so yle . stories . character . name Variant . add Name Variant . Character Name Variant Added Receiver Ċ import Ġcom . so yle . stories . character . name Variant . list . List Character Name Variants Controller Ċ import Ġcom . so yle . stories . character . name Variant . remove . Character Name Variant Removed Notifier Ċ import Ġcom . so yle . stories . character . name Variant . remove . Character Name Variant Removed Receiver Ċ import Ġcom . so yle . stories . character . name Variant . rename . Character Name Variant Rename d Notifier Ċ import Ġcom . so yle . stories . character . name Variant . rename . Character Name Variant Rename d Receiver Ċ import Ġcom . so yle . stories . common . gui Update Ċ import Ġcom . so yle . stories . common . list ens To Ċ import Ġcom . so yle . stories . di . get Ċ import Ġcom . so yle . stories . domain . character . Character Ċ import Ġcom . so yle . stories . domain . character . events . Character Name Variant Added Ċ import Ġcom . so yle . stories . domain . character . events . Character Name Variant Removed Ċ import Ġcom . so yle . stories . domain . character . events . Character Name Variant Rename d Ċ import Ġjavafx . application . Platform Ċ import Ġjavafx . beans . property .* Ċ import Ġt orn ad of x .* Ċ Ċ class ĠCharacter Profile State Ġ: ĠItem ViewModel < Character Profile Props >(), ĠCharacter Name Variant Added Receiver , ĊĠĠĠ ĠCharacter Name Variant Rename d Receiver , ĠCharacter Name Variant Removed Receiver Ġ{ ĊĊĠĠĠ Ġval Ġcharacter Id : ĠReadOnly Property < Character . Id > Ġ= Ġbind ( Character Profile Props :: character Id ) ĊĠĠĠ Ġval Ġcharacter Image Resource : ĠReadOnly String Property Ġ= Ġbind ( Character Profile Props :: image Resource ) ĊĠĠĠ Ġval Ġcharacter DisplayName : ĠReadOnly String Property Ġ= Ġbind ( Character Profile Props :: name ) ĊĊĠĠĠ Ġinternal Ġval Ġalternative Names : ĠReadOnly List Property < String > Ġ= ĠSimple List Property < String >( null ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġcharacter Id . onChange Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( scope Ġas ĠCharacter Profile Scope ). project Scope . get < List Character Name Variants Controller >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. list Character Name Variants ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgui Update Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ( it . to Observable ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġval Ġis Creating Name Ġ= ĠSimple Boolean Property ( false ) ĊĠĠĠ Ġinternal Ġval Ġcreation Failure Ġ= ĠSimple String Property ( null ) ĊĠĠĠ Ġinternal Ġval Ġexecuting Name Change Ġ= ĠSimple Boolean Property ( false ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ( scope Ġas ĠCharacter Profile Scope ). project Scope . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Character Profile State Ġlist ens To Ġget < Character Name Variant Added Notifier >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Character Profile State Ġlist ens To Ġget < Character Name Variant Rename d Notifier >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Character Profile State Ġlist ens To Ġget < Character Name Variant Removed Notifier >() ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġreceive Character Name Variant Added ( event : ĠCharacter Name Variant Added ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( event . character Id Ġ== Ġitem ?. character Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgui Update Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alternative Names . value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalternative Names . add ( event . new Variant ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġreceive Character Name Variant Rename d ( event : ĠCharacter Name Variant Rename d ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( event . character Id Ġ== Ġitem ?. character Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgui Update Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alternative Names . value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalternative Names . replaceAll Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġevent . original Variant . value ) Ġevent . new Variant . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġreceive Character Name Variant Removed ( event : ĠCharacter Name Variant Removed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( event . character Id Ġ== Ġitem ?. character Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgui Update Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alternative Names . value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalternative Names . remove If Ġ{ Ġit Ġ== Ġevent . variant . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }