package Ġru . y oom oney . tech . mo ira . client . triggers . ttl Ċ Ċ import Ġorg . json . JSONObject Ċ import Ġru . y oom oney . tech . mo ira . client . json . Json Serializable Ċ import Ġru . y oom oney . tech . mo ira . client . json . get Enum By Code Ċ import Ġru . y oom oney . tech . mo ira . client . json . getLong OrNull Ċ import Ġru . y oom oney . tech . mo ira . client . triggers . Trigger State Ċ import Ġjava . time . Duration Ċ Ċ /** Ċ Ġ* ĠSet Ġnew Ġtrigger Ġ[ state ] Ġwhen Ġno Ġdata Ġavailable Ġfor Ġ[ ttl ] Ġperiod . Ċ Ġ* Ċ Ġ* ĠSee Ġmore Ġinformation Ġat Ġ[ De aling Ġwith ĠNO DATA ]( https :// mo ira . readthedocs . io / en / latest / user _ guide / nod ata . html ). Ċ Ġ*/ Ċ data Ġclass ĠT tl Condition ( val Ġttl : ĠDuration Ġ= ĠDEFAULT _ TTL , Ġval Ġstate : ĠTrigger State ) Ġ: ĠJson Serializable Ġ{ ĊĊĠĠĠ Ġconstructor ( json : ĠJSONObject ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġttl Ġ= Ġjson . getLong OrNull (" ttl ") ?. let Ġ{ ĠDuration . of Seconds ( it ) Ġ} Ġ?: ĠDEFAULT _ TTL , ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġjson . get Enum By Code (" ttl _ state ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoJson (): ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= ĠJSONObject () ĊĊĠĠĠĠĠĠĠ Ġroot . put (" ttl ", Ġttl . seconds ) ĊĠĠĠĠĠĠĠ Ġroot . put (" ttl _ state ", Ġstate . code ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefault ĠTTL Ġperiod . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" ObjectProperty Naming ") ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġprivate Ġval ĠDEFAULT _ TTL Ġ= ĠDuration . of Minutes ( 1 0 L ) ĊĠĠĠ Ġ} Ċ } Ċ