@ file : Suppress (" Blocking Method In Non Blocking Context ") Ċ package Ġjp . just in case . jackson . kotlin . text ual . test Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . module . kotlin . readValue Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġjp . just in case . jackson . kotlin . text ual . Text ual Ċ import Ġjp . just in case . jackson . kotlin . text ual . codec . Text ual Module Ċ Ċ data Ġclass ĠHex adecimal ( val Ġvalue : ĠInt ) Ġ{ ĊĠ Ġcompanion Ġobject Ġ: ĠText ual < Hex adecimal > Ġ{ ĊĠĠĠ Ġoverride Ġval ĠHex adecimal . text ĊĠĠĠĠĠ Ġget () Ġ= Ġvalue . toString ( 1 6 ) ĊĊĠĠĠ Ġoverride Ġfun Ġfrom Text ( value : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠHex adecimal ( value . toInt ( 1 6 )) ĊĠ Ġ} Ċ } Ċ Ċ private Ċ fun Ġmain () Ġ{ ĊĠ Ġval Ġmapper Ġ= ĠObjectMapper (). register Module ( Text ual Module ()) ĊĊĠ Ġprintln ( mapper . writeValue AsString ( Hex adecimal ( 1 0 0 0 ))) Ġ// Ġ" 3 e 8 " ĊĠ Ġprintln ( mapper . readValue < Hex adecimal >(" """ 2 a """" )) Ġ// ĠHex adecimal ( value = 4 2 ) Ċ } ĊĊ Ċ class ĠExample Spec : ĠString Spec ({ ĊĠ Ġval Ġmapper Ġ= ĠObjectMapper (). register Module ( Text ual Module ()) ĊĊĠ Ġ"` main ` Ġshould Ġwork " Ġ{ ĊĠĠĠ Ġmain () ĊĠ Ġ} ĊĠ Ġ" Example Ġoutput Ġ 1 Ġshould Ġmatch Ġthe Ġcomment " Ġ{ ĊĠĠĠ Ġmapper . writeValue AsString ( Hex adecimal ( 1 0 0 0 )) ĠshouldBe Ġ""" " 3 e 8 """" ĊĠ Ġ} ĊĠ Ġ" Example Ġoutput Ġ 2 Ġshould Ġmatch Ġthe Ġcomment " Ġ{ ĊĠĠĠ Ġmapper . readValue < Hex adecimal >(" """ 2 a """" ). toString () ĠshouldBe Ġ""" Hex adecimal ( value = 4 2 ) """ ĊĠ Ġ} Ċ }) Ċ