package Ġme . b ri ster mit ten . rewrite . dsl . core . impl Ċ Ċ import Ġme . b ri ster mit ten . rewrite . dsl . core . Action Filter Ċ import Ġme . b ri ster mit ten . rewrite . dsl . core . Boolean Operator Ċ import Ġjava . util . function . Supplier Ċ Ċ class ĠAction Filter Impl ( private Ġval Ġrunnable : Ġ() -> Unit ) Ġ: ĠAction Filter < Action Filter Impl > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġallowed To Run Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġwhen IsTrue ( boolean : ĠBoolean ): ĠBoolean Operator < Action Filter Impl > Ġ{ ĊĠĠĠĠĠĠĠ Ġallowed To Run Ġ= Ġboolean ĊĠĠĠĠĠĠĠ Ġreturn ĠBoolean Operator Impl ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwhen IsTrue ( boolean : ĠSupplier < Boolean >): ĠBoolean Operator < Action Filter Impl > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen IsTrue ( boolean . get ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwhen IsTrue ( boolean : Ġ() Ġ-> ĠBoolean ): ĠBoolean Operator < Action Filter Impl > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen IsTrue ( boolean ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdone () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( allowed To Run ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrunnable () ĊĠĠĠ Ġ} Ċ } Ċ