package Ġcz . fit . met ac ent rum . domain . config Ċ Ċ import Ġcom . fasterxml . jackson . annotation . Json Sub Types Ċ import Ġcom . fasterxml . jackson . annotation . Json TypeInfo Ċ import Ġcom . fasterxml . jackson . annotation . Json TypeName ĊĊ Ċ const Ġval Ġtask Type Mat lab Ġ= Ġ" MAT LAB " Ċ const Ġval Ġtask Type Python Ġ= Ġ" PYTHON " Ċ Ċ @ Json TypeInfo ( ĊĠĠĠĠĠĠĠ Ġuse Ġ= ĠJson TypeInfo . Id . NAME , ĊĠĠĠĠĠĠĠ Ġinclude Ġ= ĠJson TypeInfo . As . PROPERTY , ĊĠĠĠĠĠĠĠ Ġproperty Ġ= Ġ" type " Ċ ) Ċ @ Json Sub Types ( ĊĠĠĠĠĠĠĠ ĠJson Sub Types . Type ( value Ġ= ĠMat lab Task Type :: class , Ġname Ġ= Ġtask Type Mat lab ), ĊĠĠĠĠĠĠĠ ĠJson Sub Types . Type ( value Ġ= ĠPython Task Type :: class , Ġname Ġ= Ġtask Type Python ) Ċ ) Ċ sealed Ġclass ĠTask Type Ċ Ċ @ Json TypeName ( task Type Mat lab ) Ċ data Ġclass ĠMat lab Task Type ( ĊĠĠĠĠĠĠĠ Ġval Ġfunction Call : ĠString Ċ ) Ġ: ĠTask Type () Ċ Ċ @ Json TypeName ( task Type Mat lab ) Ċ data Ġclass ĠPython Task Type ( ĊĠĠĠĠĠĠĠ Ġval Ġcommand : ĠString Ċ ) Ġ: ĠTask Type ()