package Ġio . github . leg ion 2 . smart _ and _ healthy _ office . mqtt . message Ċ Ċ data Ġclass ĠPres ence Message ( val Ġroom : ĠString , Ġval Ġpresence : ĠInt , Ġval Ġtimestamp : ĠLong ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( message : ĠMessage ): ĠPres ence Message Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPres ence Message ( message . tags . getValue (" room "), Ġ(( message . fields . getValue (" presence ") Ġas ? ĠNumber ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalArgumentException (" Invalid Ġmessage , Ġlo ud ness Ġfield Ġmust Ġbe Ġof Ġtype Ġinteger : Ġ$ message ")) ). toInt (), Ġmessage . timestamp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }