/* Ċ Ġ* ĠCreated Ġby ĠLee ĠOh ĠHy ung Ġon Ġ 2 0 2 1 / 0 1 / 3 0 . Ċ Ġ*/ Ċ package Ġkr . nin ety . domain . use case Ċ Ċ import Ġkr . nin ety . domain . exception . No Params Exception Ċ Ċ abstract Ġclass ĠParameter ized UseCase < in ĠParams > Ġ: ĠUse Case Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġget ( params : ĠParams ?): ĠAny ĊĠĠĠ Ġabstract Ġfun Ġexecute ( params : ĠParams ?): ĠAny Ċ } Ċ Ċ abstract Ġclass ĠNo Params UseCase Ġ: ĠUse Case Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġget (): ĠAny ĊĠĠĠ Ġabstract Ġfun Ġexecute (): ĠAny Ċ } Ċ Ċ // ĠParameter ized UseCase ĠìĿĺ ĠParams Ġë¡ľ ĠìłĦ ëĭ ¬ ëĲľ ĠìĿ¸ ìŀĲ ê°Ģ Ġnull ĠìĿ´ë Ŀ¼ ë©´ , Ġthrow Ġexception . Ċ fun Ġ< T : ĠAny > ĠParameter ized UseCase <* >. require Params NonNull ( value : ĠT ?): ĠT Ġ{ ĊĠĠĠ Ġif ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠNo Params Exception () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} Ċ } Ċ