/* Ċ Copyright Ġ 2 0 2 1 ĠD mit ry ĠBar as he v , ĠBar D ĠSoftware Ġs . r . o Ċ Ċ This Ġfile Ġis Ġpart Ġof ĠG antt Project , Ġan Ġopen - source Ġproject Ġmanagement Ġtool . Ċ Ċ Gantt Project Ġis Ġfree Ġsoftware : Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ it Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ġby Ċ Ġthe ĠFree ĠSoftware ĠFoundation , Ġeither Ġversion Ġ 3 Ġof Ġthe ĠLicense , Ġor Ċ Ġ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ċ Gantt Project Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ but ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ MER CHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ GNU ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ċ You Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ along Ġwith ĠG antt Project . Ġ ĠIf Ġnot , Ġsee Ġ< http :// www . gnu . org / licenses />. Ċ */ Ċ package Ġnet . sourceforge . g ant tp ro ject . task . algorithm Ċ Ċ import Ġbiz . g ant tp ro ject . core . option . Boolean Option Ċ Ċ /** Ċ Ġ* ĠThis Ġscheduler Ġcan Ġbe Ġswitched Ġon Ġand Ġoff Ġusing Ġa Ġboolean Ġoption . ĠWhen Ġswitched Ġon , Ċ Ġ* Ġit Ġdeleg ates Ġthe Ġreal Ġwork Ġto Ġthe Ġdelegate Ġscheduler . Ċ Ġ*/ Ċ class ĠScheduler Optional ( private Ġval Ġis Disabled : ĠBoolean Option , Ġprivate Ġval Ġdelegate : ĠScheduler Impl ) Ġ: ĠAlgorithm Base () Ġ{ ĊĠ Ġoverride Ġfun Ġis Enabled () Ġ= Ġif Ġ( is Disabled . isChecked ) Ġfalse Ġelse Ġdelegate . isEnabled ĊĠ Ġoverride Ġfun Ġset Enabled ( enabled : ĠBoolean ) Ġ{ ĊĠĠĠ Ġdelegate . isEnabled Ġ= Ġenabled ĊĠĠĠ Ġrun () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġset Diagnostic ( d : ĠDiagnostic ?) Ġ{ ĊĠĠĠ Ġdelegate . diagnostic Ġ= Ġd ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Diagnostic () Ġ= Ġdelegate . diagnostic ĊĊĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠ Ġif Ġ( isEnabled ) Ġ{ ĊĠĠĠĠĠ Ġdelegate . run () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ