package Ġcom . b oly art ech . forge . admin . units . admin _ change _ password Ċ Ċ import Ġcom . b oly art ech . forge . android . app _ unit . rc _ task . Abstract R ct Res ident Component Ċ import Ġcom . b oly art ech . forge . android . app _ unit . rc _ task . R ct Res ident Component Ċ import Ġcom . b oly art ech . forge . android . app _ unit . rc _ task . executor . Rc Task Executor Ċ import Ġcom . b oly art ech . forge . base . rc _ task . Rc Task To Executor Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Provider Ċ Ċ interface ĠRes Admin Change Password Ġ: ĠR ct Res ident Component Ġ{ ĊĠĠĠ Ġfun Ġinit ( userId : ĠInt ) ĊĠĠĠ Ġfun Ġchange Password ( password : ĠString ) ĊĠĠĠ Ġfun Ġget ErrorCode (): ĠInt Ċ } ĊĊ Ċ class ĠRes Admin Change Password Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġtask Executor : ĠR c Task Executor , ĊĠĠĠ Ġprivate Ġval Ġtask Provider : ĠProvider < Admin Change Password Task > Ċ ) Ġ: ĠRes Admin Change Password , ĠAbstract R ct Res ident Component ( task Executor ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar ĠuserId : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġtask : ĠAdmin Change Password Task ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠerrorCode : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġinit ( userId : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . userId Ġ= ĠuserId ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchange Password ( password : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( userId Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Did Ġyou Ġforgot Ġto Ġcall Ġinit () ?") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= Ġtask Provider . get () ĊĠĠĠĠĠĠĠ Ġt . init ( userId , Ġpassword ) ĊĠĠĠĠĠĠĠ Ġtask Ġ= Ġt ĊĠĠĠĠĠĠĠ Ġexecute Task ( t ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ErrorCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠerrorCode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Task Post Execute ( ended Task : ĠR c Task To Executor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ended Task . is Failure ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠerrorCode Ġ= Ġtask !!. result . error Value ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }