package Ġcom . nel kind a . template . app . sale st ax Ċ Ċ import Ġcom . nel kind a . template . app . currency . Currency ĊĊ Ċ sealed Ġclass ĠSales Tax Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġcalculate Tax ( price : ĠCurrency ): ĠCurrency ĊĊĠĠĠ Ġobject ĠNONE : ĠSales Tax () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcalculate Tax ( price : ĠCurrency ): ĠCurrency Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCurrency . getDefault () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠPER CENT _ 1 0 : ĠSales Tax () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcalculate Tax ( price : ĠCurrency ): ĠCurrency Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercent Ġ= ĠCurrency . getDefault (). setValue ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġprice . times ( percent ). div ( Currency . getDefault (). setValue ( 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠPER CENT _ 5 0 : ĠSales Tax () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcalculate Tax ( price : ĠCurrency ): ĠCurrency Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercent Ġ= ĠCurrency . getDefault (). setValue ( 5 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġprice . times ( percent ). div ( Currency . getDefault (). setValue ( 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ