package Ġf tl . presentation Ċ Ċ import Ġfl ank . common . log Ln Ċ Ċ /** Ċ Ġ* ĠThe Ġabstraction Ġwhich Ġallows Ġpassing Ġoutput Ġfrom Ġthe Ġdomain Ġto Ġpresentation . Ċ Ġ* ĠImplement Ġin Ġdomain Ġtop - level Ġinterfaces Ġfor Ġgetting Ġaccess Ġto Ġoutput ting Ġresult Ġstructures . Ċ Ġ* Ġ@ property Ġout ĠThe Ġreference Ġto Ġoutput ting Ġresult Ġfunction . Ċ Ġ*/ Ċ interface ĠOutput Ġ{ ĊĠĠĠ Ġval Ġout : ĠAny . () Ġ-> ĠUnit Ċ } Ċ Ċ fun Ġoutput Logger ( map : ĠAny . () Ġ-> ĠString ): ĠAny . () Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠ Ġlog Ln ( map ()) Ċ } Ċ Ċ fun ĠAny . throw Unknown Type (): ĠNothing Ġ= ĊĠĠĠ Ġthrow ĠIllegalArgumentException ( java Class . to Generic String ()) Ċ