package Ġde . hpi . cloud . common . grpc Ċ Ċ import Ġcom . google . protobuf . GeneratedMessageV 3 Ċ import Ġde . hpi . cloud . common . entity . Id Ċ import Ġio . grpc . Status Ċ Ċ fun Ġcheck Arg Required ( has Arg : ĠBoolean , Ġarg Name : ĠString , Ġif Arg Set : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġif Ġ(! has Arg ) Ġarg Required ( arg Name , Ġif Arg Set ) Ċ } Ċ Ċ fun Ġcheck Arg Required ( arg : ĠString ?, Ġarg Name : ĠString , Ġif Arg Set : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġif Ġ( arg . isNull Or Blank ()) Ġarg Required ( arg Name , Ġif Arg Set ) Ċ } Ċ Ċ fun Ġarg Required ( arg Name : ĠString , Ġif Arg Set : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ ĠStatus . INVALID _ ARGUMENT . throw Exception (" Argument Ġ$ arg Name Ġis Ġrequired " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ( if Arg Set ?. let Ġ{ Ġ" Ġif Ġargument Ġ$ it Ġis Ġset " Ġ} Ġ?: Ġ"")) Ċ } Ċ Ċ fun Ġthrow InvalidArgument ( message : ĠString , Ġvalue : ĠString ): ĠNothing Ġ= ĊĠĠĠ ĠStatus . INVALID _ ARGUMENT . throw Exception ("$ message , Ġwas : Ġ\"$ value \" ") ĊĊ Ċ inline Ġfun Ġ< re ified ĠProto Ġ: ĠGenerated Message V 3 > Ġthrow AlreadyExists ( id : ĠId < *> ): ĠNothing Ġ= ĊĠĠĠ ĠStatus . AL READY _ EXISTS . throw Exception ("${ Proto :: class . java . simple Name } Ġwith ĠID Ġ$ id Ġalready Ġexists ") ĊĊ Ċ inline Ġfun Ġ< re ified ĠProto Ġ: ĠGenerated Message V 3 > Ġthrow NotFound ( id : ĠString ): ĠNothing Ġ{ ĊĠĠĠ ĠStatus . NOT _ FOUND . throw Exception ("${ Proto :: class . java . simple Name } Ġwith ĠID Ġ$ id Ġnot Ġfound ") Ċ } Ċ Ċ fun ĠStatus . throw Exception ( description : ĠString ? Ġ= Ġnull , Ġcause : ĠThrowable ? Ġ= Ġnull ): ĠNothing Ġ{ ĊĠĠĠ Ġthrow Ġrun Ġ{ Ġif Ġ( description Ġ!= Ġnull ) Ġwith Description ( description ) Ġelse Ġthis Ġ} ĊĠĠĠĠĠĠĠ Ġ. run Ġ{ Ġif Ġ( cause Ġ!= Ġnull ) Ġwith Cause ( cause ) Ġelse Ġthis Ġ} ĊĠĠĠĠĠĠĠ Ġ. as RuntimeException () Ċ } Ċ