package Ġcom . lv once . ath ena . utils čĊč Ċ import Ġorg . slf 4 j . LoggerFactory č Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper č Ċ import Ġcom . fasterxml . jackson . module . kotlin . Kotlin Module č Ċ import Ġcom . fasterxml . jackson . data format . yaml . YAML Factory č Ċ import Ġcom . fasterxml . jackson . databind . Serialization Feature č Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Feature čĊč Ċ object ĠYaml Mapper Ġ{ čĊčĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Yaml Mapper :: class . java ) čĊĠĠĠ Ġprivate Ġval Ġmapper Ġ= ĠObjectMapper ( YAML Factory ()). register Module ( Kotlin Module ()) čĊčĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġmapper . disable ( Serialization Feature . FAIL _ ON _ EMPTY _ BE ANS ) čĊĠĠĠĠĠĠĠ Ġmapper . disable ( Deserialization Feature . FAIL _ ON _ UNKNOWN _ PROPERTIES ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġ< T > writeValue AsString ( value : ĠT ): ĠString Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġmapper . writeValue AsString ( value ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġ< T > writeValue AsString ( value : ĠT ?, Ġdefault : ĠT ): ĠString Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġmapper . writeValue AsString ( value ?: default ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġ< T > readValue ( value : ĠString , Ġclazz : ĠClass < T >): ĠT ? Ġ{ čĊĠĠĠĠĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmapper . readValue ( value , Ġclazz ) čĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn (" readValue Ġ- Ġerror Ġ- Ġ", Ġe ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġnull čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġ< T > readValue ( value : ĠString , Ġclazz : ĠClass < T >, Ġdefault : ĠT ): ĠT Ġ{ čĊĠĠĠĠĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmapper . readValue ( value , Ġclazz ) čĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" readValue Ġ- Ġdefault ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġdefault čĊĠĠĠ Ġ} č Ċ }