package Ġcom . so yle . stories . character arc . use case Controllers Ċ Ċ import Ġcom . so yle . stories . use case . theme . change Story Function . Change Story Function Ċ import Ġjava . util .* Ċ Ċ class ĠChange Story Function Controller ( ĊĠ Ġtheme Id : ĠString , ĊĠ Ġprivate Ġval Ġchange Story Function : ĠChange Story Function , ĊĠ Ġprivate Ġval Ġchange Story Function Output Port : ĠChange Story Function . Output Port Ċ ) Ġ{ ĊĊ ĉ private Ġval Ġtheme Id : ĠUUID Ġ= ĠUUID . fromString ( theme Id ) ĊĊ ĉ suspend Ġfun Ġset Story Function ( ĊĉĠ Ġcharacter Id : ĠString , ĊĉĠ Ġtarget Character Id : ĠString , ĊĉĠ Ġstory Function : ĠString Ċ ĉ ) Ġ{ Ċĉ ĉ change Story Function . invoke ( ĊĉĉĠ ĠChange Story Function . Request Model ( Ċĉĉ ĉ theme Id , Ċĉĉ ĉ UUID . fromString ( character Id ), Ċĉĉ ĉ UUID . fromString ( target Character Id ), Ċĉĉ ĉ Change Story Function . Story Function . valueOf ( story Function ) ĊĉĉĠ Ġ), ĊĉĉĠ Ġchange Story Function Output Port Ċĉ ĉ ) Ċ ĉ } Ċ }