package Ġbr . com . bl u . bs 2 . sint et iz ador . cont as . csv . model . dom inio Ċ Ċ import Ġbr . com . bl u . bs 2 . sint et iz ador . cont as . csv . service . strategy . Percent ual Bonus Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . util .* Ċ Ċ class ĠEx tr ato Cont a Ġ{ ĊĠĠĠ Ġvar Ġconta : ĠCont a ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġvalor Total Deposit o : ĠBigDecimal ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġvalor Percent ual Bonus : ĠBigDecimal ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor () Ġ{} ĊĠĠĠ Ġconstructor ( cont a : ĠCont a ?, Ġvalor Total Deposit o : ĠBigDecimal ?, Ġvalor Percent ual Bonus : ĠBigDecimal ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . cont a Ġ= Ġconta ĊĠĠĠĠĠĠĠ Ġthis . valor Total Deposit o Ġ= Ġvalor Total Deposit o ĊĠĠĠĠĠĠĠ Ġthis . valor Percent ual Bonus Ġ= Ġvalor Percent ual Bonus ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġaplic ar Valor Percent ual Bonus ( percent ual Bonus : ĠPercent ual Bonus ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Objects . isNull ( cont a )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalor Percent ual Bonus Ġ= ĠBigDecimal . ZERO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvalor Percent ual Bonus Ġ= Ġif Ġ( Objects . isNull ( percent ual Bonus )) ĠBigDecimal . ZERO Ġelse Ġpercent ual Bonus . factory Ob ter Percent ual Bonus Service . ob ter Valor Percent ual Bonus Ao Deposit o ( cont a ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Extr ato Cont a {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cont a =" Ġ+ Ġconta Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", Ġvalor Total Deposit o =" Ġ+ Ġvalor Total Deposit o Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", Ġvalor Percent ual Bonus =" Ġ+ Ġvalor Percent ual Bonus Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' }' ĊĠĠĠ Ġ} Ċ } Ċ