package Ġcom . jetbrains . edu . learning . yaml . format . student Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Order Ċ import Ġcom . fasterxml . jackson . databind . annotation . Json Deserialize Ċ import Ġcom . jetbrains . edu . course creator . actions . mixins . Json Mixin Names . TAGS Ċ import Ġcom . jetbrains . edu . learning . course Format . Framework Lesson Ċ import Ġcom . jetbrains . edu . learning . yaml . format . Framework Lesson Builder Ċ import Ġcom . jetbrains . edu . learning . yaml . format . Framework Lesson Yaml Mixin Ċ import Ġcom . jetbrains . edu . learning . yaml . format . Yaml Mixin Names . CONTENT Ċ import Ġcom . jetbrains . edu . learning . yaml . format . Yaml Mixin Names . CURRENT _ TASK Ċ import Ġcom . jetbrains . edu . learning . yaml . format . Yaml Mixin Names . CUSTOM _ NAME Ċ import Ġcom . jetbrains . edu . learning . yaml . format . Yaml Mixin Names . IS _ TEMPLATE _ BASE D Ċ import Ġcom . jetbrains . edu . learning . yaml . format . Yaml Mixin Names . TYPE Ċ Ċ @ Suppress (" UNUSED _ PARAMETER ", Ġ" unused ") Ġ// Ġused Ġfor Ġyaml Ġserialization Ċ @ Json Deserialize ( builder Ġ= ĠStudent Framework Lesson Builder :: class ) Ċ @ JsonProperty Order ( TYPE , ĠCUSTOM _ NAME , ĠCONTENT , ĠIS _ TEMPLATE _ BASE D , ĠCURRENT _ TASK , ĠTAG S ) Ċ abstract Ġclass ĠStudent Framework Lesson Yaml Mixin Ġ: ĠFramework Lesson Yaml Mixin () Ġ{ ĊĠ Ġ@ JsonProperty ( CURRENT _ TASK ) ĊĠ Ġprivate Ġvar Ġcurrent Task Index : ĠInt Ġ= Ġ 0 Ċ } Ċ Ċ private Ġclass ĠStudent Framework Lesson Builder ( ĊĠ Ġ@ JsonProperty ( CURRENT _ TASK ) Ġval Ġcurrent Task Index : ĠInt , ĊĠ Ġ@ JsonProperty ( IS _ TEMPLATE _ BASE D ) Ġis Template Based : ĠBoolean Ġ= Ġtrue , ĊĠ Ġ@ JsonProperty ( CONTENT ) Ġcontent : ĠList < String ?> Ġ= Ġempty List (), ĊĠ Ġ@ JsonProperty ( TAGS ) Ġcontent Tags : ĠList < String > Ġ= Ġempty List () Ċ ) Ġ: ĠFramework Lesson Builder ( is Template Based , Ġcontent , Ġcontent Tags Ġ= Ġcontent Tags ) Ġ{ ĊĠ Ġoverride Ġfun Ġcreate Lesson (): ĠFramework Lesson Ġ{ ĊĠĠĠ Ġreturn Ġsuper . create Lesson (). also Ġ{ Ġit . current Task Index Ġ= Ġcurrent Task Index Ġ} ĊĠ Ġ} Ċ }