package Ġcom . will mad ison . dis counts Ċ Ċ import Ġcom . will mad ison . rules . Rule Element Ċ import Ġcom . will mad ison . store . Cart Ċ Ċ class ĠDiscount ( val Ġrule : ĠRule Element ? Ġ= Ġnull , Ġvar Ġapplic ator : Ġ(( Cart ) Ġ-> ĠCart )? Ġ= Ġnull ) Ġ{ ĊĊĠĠĠ Ġfun Ġis Applicable ( cart : ĠCart ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( rule Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrule . evaluate ( cart ) ĊĠĠĠ Ġ} Ċ }