package Ġdocument os . comp ro ban ter et enc ion Ċ Ċ import Ġdocument os . Gener ar Document os Ċ import Ġutils . mensaje N ulo Ċ import Ġutils . mensaje Vac io Ċ import Ġutils . mensaje Val ores Ċ import Ġjava . util .* Ċ import Ġjavax . validation . Validation Ċ import Ġjavax . validation . constraints . NotEmpty Ċ import Ġjavax . validation . constraints . NotNull Ċ import Ġjavax . validation . constraints . Pattern Ċ import Ġjavax . validation . constraints . Size Ċ Ċ class ĠInform acion Comp rob ante Ret enc ion Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġfactory Ġ= ĠValidation . build Default Validator Factory () ĊĠĠĠ Ġprivate Ġval Ġvalidator Ġ= Ġfactory . get Validator () ĊĊĠĠĠ Ġ@ NotNull ( message Ġ= Ġ" fecha E mis ion Ġ$ mensaje N ulo ") ĊĠĠĠ Ġ@ Pattern ( ĊĠĠĠĠĠĠĠ Ġregexp Ġ= Ġ"^ ([ 0 - 2 ][ 0 - 9 ] |( 3 )[ 0 - 1 ]) (\\ /) ((( 0 )[ 0 - 9 ]) | (( 1 )[ 0 - 2 ])) (\\ /) \\ d { 4 }\ $", ĊĠĠĠĠĠĠĠ Ġflags Ġ= Ġ[ Pattern . Flag . CASE _ INS ENS ITIVE ], ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" fecha E mis ion Ġ$ mensaje Val ores Ġde Ġfecha Ġdd / mm / aaaa " ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġfecha E mis ion : ĠString ĊĊĊĠĠĠ Ġ@ NotEmpty ( message Ġ= Ġ" dir Est able c imiento Ġ$ mensaje Vac io ") ĊĠĠĠ Ġ@ Size ( min Ġ= Ġ 1 , Ġmax Ġ= Ġ 3 0 0 , Ġmessage Ġ= Ġ" dir Est able c imiento Ġ$ mensaje Val ores Ġde Ġ 1 Ġa Ġ 3 0 0 Ġcaracteres ") ĊĠĠĠ Ġvar Ġdir Est able c imiento : ĠString ? ĊĊĠĠĠ Ġfun Ġget Dir Est able c imiento (): ĠOptional < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOptional . of ( dir Est able c imiento !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ NotEmpty ( message Ġ= Ġ" cont ri buy ente E special Ġ$ mensaje Vac io ") ĊĠĠĠ Ġ@ Size ( min Ġ= Ġ 1 , Ġmax Ġ= Ġ 1 3 , Ġmessage Ġ= Ġ" cont ri buy ente E special Ġ$ mensaje Val ores Ġde Ġ 1 Ġa Ġ 1 3 Ġcaracteres ") ĊĠĠĠ Ġvar Ġcont ri buy ente E special : ĠString ? ĊĊĠĠĠ Ġfun Ġget Cont ri buy ente E special (): ĠOptional < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOptional . of ( cont ri buy ente E special !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Pattern ( ĊĠĠĠĠĠĠĠ Ġregexp Ġ= Ġ" SI | NO ", ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" ob lig ado Cont abil idad Ġ$ mensaje Val ores ĠSI | NO " ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġoblig ado Cont abil idad : ĠString ? ĊĊĠĠĠ Ġfun Ġget O bl ig ado Cont abil idad (): ĠOptional < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOptional . of ( ob lig ado Cont abil idad !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Pattern ( ĊĠĠĠĠĠĠĠ Ġregexp Ġ= Ġ" 0 4 | 0 5 | 0 6 | 0 7 | 0 8 | 0 9 ", ĊĠĠĠĠĠĠĠ Ġflags Ġ= Ġ[ Pattern . Flag . CASE _ INS ENS ITIVE ], ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" tipo Ident ificacion Comp rad or Ġ$ mensaje Val ores Ġde Ġ 0 4 | 0 5 | 0 6 | 0 7 | 0 8 | 0 9 " ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġtipo Ident ificacion Su jeto Ret en ido : ĠString ĊĊĊĠĠĠ Ġ@ NotNull ( message Ġ= Ġ" raz on Social Su jeto Ret en ido Ġ$ mensaje N ulo ") ĊĠĠĠ Ġ@ NotEmpty ( message Ġ= Ġ" raz on Social Su jeto Ret en ido Ġ$ mensaje Vac io ") ĊĠĠĠ Ġ@ Size ( min Ġ= Ġ 1 , Ġmax Ġ= Ġ 3 0 0 , Ġmessage Ġ= Ġ" raz on Social Su jeto Ret en ido Ġ$ mensaje Val ores Ġde Ġ 1 Ġa Ġ 3 0 0 Ġcaracteres ") ĊĠĠĠ Ġvar Ġraz on Social Su jeto Ret en ido : ĠString ĊĊĠĠĠ Ġ@ NotEmpty ( message Ġ= Ġ" ident ificacion Su jeto Ret en ido Ġ$ mensaje Vac io ") ĊĠĠĠ Ġ@ Size ( min Ġ= Ġ 1 , Ġmax Ġ= Ġ 2 0 , Ġmessage Ġ= Ġ" ident ificacion Su jeto Ret en ido Ġ$ mensaje Val ores Ġde Ġ 1 Ġa Ġ 2 0 Ġcaracteres ") ĊĠĠĠ Ġvar Ġident ificacion Su jeto Ret en ido : ĠString ĊĊĠĠĠ Ġ@ NotNull ( message Ġ= Ġ" period o Fis cal Ġ$ mensaje N ulo ") ĊĠĠĠ Ġ@ Pattern ( ĊĠĠĠĠĠĠĠ Ġregexp Ġ= Ġ"^ ((( 0 )[ 0 - 9 ]) | (( 1 )[ 0 - 2 ])) (\\ /) \\ d { 4 }\ $", ĊĠĠĠĠĠĠĠ Ġflags Ġ= Ġ[ Pattern . Flag . CASE _ INS ENS ITIVE ], ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" period o Fis cal Ġ$ mensaje Val ores Ġde Ġfecha Ġmm / aaaa " ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġperiod o Fis cal : ĠString ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġfecha E mis ion : ĠString , ĊĠĠĠĠĠĠĠ Ġdir Est able c imiento : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcont ri buy ente E special : ĠString ?, ĊĠĠĠĠĠĠĠ Ġoblig ado Cont abil idad : ĠString ?, ĊĠĠĠĠĠĠĠ Ġtipo Ident ificacion Su jeto Ret en ido : ĠString , ĊĠĠĠĠĠĠĠ Ġraz on Social Su jeto Ret en ido : ĠString , ĊĠĠĠĠĠĠĠ Ġident ificacion Su jeto Ret en ido : ĠString , ĊĠĠĠĠĠĠĠ Ġperiod o Fis cal : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . fecha E mis ion Ġ= Ġfecha E mis ion ĊĠĠĠĠĠĠĠ Ġthis . dir Est able c imiento Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dir Est able c imiento Ġ== Ġnull ) Ġnull Ġelse ĠGener ar Document os . remo ver Car acter es E spec ia les ( dir Est able c imiento ) ĊĠĠĠĠĠĠĠ Ġthis . cont ri buy ente E special Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cont ri buy ente E special Ġ== Ġnull ) Ġnull Ġelse ĠGener ar Document os . remo ver Car acter es E spec ia les ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcont ri buy ente E special ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġthis . ob lig ado Cont abil idad Ġ= Ġoblig ado Cont abil idad ĊĠĠĠĠĠĠĠ Ġthis . tipo Ident ificacion Su jeto Ret en ido Ġ= Ġtipo Ident ificacion Su jeto Ret en ido ĊĠĠĠĠĠĠĠ Ġthis . raz on Social Su jeto Ret en ido Ġ= ĠGener ar Document os . remo ver Car acter es E spec ia les ( raz on Social Su jeto Ret en ido ) ĊĠĠĠĠĠĠĠ Ġthis . ident ificacion Su jeto Ret en ido Ġ= Ġident ificacion Su jeto Ret en ido ĊĠĠĠĠĠĠĠ Ġthis . period o Fis cal Ġ= Ġperiod o Fis cal ĊĠĠĠ Ġ} Ċ }