package Ġdata maint ain . core . script Ċ Ċ import Ġdata maint ain . core . step . executor . Execution Ċ Ċ import Ġjava . time . Duration Ċ import Ġjava . time . LocalDateTime Ċ Ċ interface ĠScript Ġ{ ĊĠĠĠ Ġval Ġname : ĠString ĊĠĠĠ Ġval Ġchecksum : ĠString ĊĠĠĠ Ġval Ġidentifier : ĠString Ċ } Ċ Ċ data Ġclass ĠExec uted Script Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġchecksum : ĠString , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġidentifier : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġexecution Status : ĠExecution Status , ĊĠĠĠĠĠĠĠ Ġval Ġexecution Duration In Millis : ĠLong ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġexecution Output : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠScript Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġforce Mark As Executed ( script : ĠScript With Content ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExec uted Script ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . checksum , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . identifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExecution Status . FORCE _ MARK ED _ AS _ EXECUT ED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfun ĠshouldBe Executed ( script : ĠScript With Content ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExec uted Script ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . checksum , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . identifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExecution Status . SHO ULD _ BE _ EXECUT ED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild ( script : ĠScript With Content , Ġexecution : ĠExecution , Ġexecution Duration In Millis : ĠLong ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExec uted Script ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . checksum , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscript . identifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution . execution Status , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Duration In Millis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution . execution Output ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠScript With Content Ġ: ĠScript Ġ{ ĊĠĠĠ Ġval Ġcontent : ĠString ĊĠĠĠ Ġval Ġtags : ĠSet < Tag > Ċ } ĊĊĊĊ