package Ġme . m alk on . pix . regist ra Ċ Ċ import Ġio . mic ronaut . core . annotation . Int rospect ed Ċ import Ġjava . util .* Ċ import Ġjavax . validation . constraints . NotBlank Ċ import Ġjavax . validation . constraints . NotNull Ċ import Ġjavax . validation . constraints . Size Ċ Ċ // um Ġdos Ġprincip ais Ġobjet ivos Ġda Ġcri aÃ§Ã£o Ġde ssa Ġclasse ĠÃ© Ġvalid ar Ġos Ġdados Ġque Ġche gam Ġda Ġrequis iÃ§Ã£o Ġgrpc Ċ @ Valid Pix Key // f az Ġvalid aÃ§Ã£o Ġpol im or f ica Ġde Ġac ord o Ġcom Ġo Ġtipo Ġde Ġch ave Ġque Ġele Ġquer Ġger ar Ċ @ Int rospect ed Ċ data Ġclass ĠN ova Ch ave Pix ( ĊĠĠĠ Ġ@ Valid UUID ĊĠĠĠ Ġ@ field : ĠNot Blank ĊĠĠĠ Ġval Ġcliente Id : ĠString ?, ĊĊĠĠĠ Ġ@ field : NotNull ĊĠĠĠ Ġval Ġtipo : ĠTipo De Ch ave ?, ĊĊĠĠĠ Ġ@ field : Size ( max Ġ= Ġ 7 7 ) ĊĠĠĠ Ġval Ġch ave : ĠString ?, ĊĊĠĠĠ Ġ@ field : NotNull ĊĠĠĠ Ġval Ġtipo De Cont a : ĠTipo De Cont a ? Ċ ) Ġ{ Ġ// to Model Ġpara Ġa Ġclasse Ġde Ġdom inio ĊĠĠĠ Ġ// os Ġatribut os Ġda Ġdire ita Ġse Ġrefer em Ġa Ġclasse ĠN ova Ch ave Pix , Ġou Ġseja , ĠsÃ£o Ġos Ġvalores Ġque Ġfor am ĊĠĠĠ Ġ// pass ados Ġvia Ġconstr utor Ġpara ĠN ova Ch ave Pix ĊĠĠĠ Ġfun Ġto Model ( cont a : ĠCont a Associ ada ): ĠCh ave Pix Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCh ave Pix ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcliente Id Ġ= ĠUUID . fromString ( this . cliente Id ), // conver te Ġo ĠUUID Ġp Ġstring ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Ġ= ĠTipo De Ch ave . valueOf ( this . tipo !!. name ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch ave Ġ= Ġif Ġ( this . tipo Ġ== ĠTipo De Ch ave . ALE ATOR IA )// se Ġfor Ġch Ġale ator ia Ġg era Ġuma , Ġse Ġn Ġfor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġthis . ch ave !! , Ġ// pass a Ġa Ġch ave Ġque Ġfoi Ġmand ada Ġna Ġrequis i Ã§a Ãµ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo De Cont a Ġ= ĠTipo De Cont a . valueOf ( this . tipo De Cont a !!. name ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconta Ġ= Ġconta ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } ĊĊ