/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 - 2 0 2 0 Ġby ĠO liver ĠBo e hm Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ* Ġ( c ) re ated Ġ 2 1 . 0 2 . 2 0 1 7 Ġby Ġo bo e hm Ġ( ob @ o asd . de ) Ċ Ġ*/ Ċ package Ġde . jf ach w ert . pr ue fung Ċ Ċ import Ġde . jf ach w ert . Pr ue fz iffer Ver fahren Ċ import Ġde . jf ach w ert . pr ue fung . exception . Invalid Length Exception Ċ import Ġde . jf ach w ert . pr ue fung . exception . Localized IllegalArgumentException Ċ import Ġjava . io . Serializable Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠBe i Ġder ĠLa eng en - Valid ierung Ġwird Ġnur Ġdie ĠLa en ge Ġdes ĠF ach w ert es Ġge pr ue ft , Ġob Ċ Ġ* Ġer Ġz wis chen Ġder Ġer la ub ten ĠMin imal - Ġund ĠMax im alla en ge Ġlie gt . ĠI st Ġdie Ċ Ġ* ĠMin im alla en ge Ġ 0 , Ġsind Ġle ere ĠW erte Ġer la ub t , Ġist Ġdie ĠMax im alla en ge Ġun end lich Ċ Ġ* Ġ( bz w . Ġgro es ster ĠInteger - W ert ), Ġgibt Ġes Ġkeine ĠLa eng en bes ch ra enk ung . Ċ Ġ* Ċ Ġ* ĠU rsp ru eng lich Ġbes ass Ġdiese ĠK lasse Ġrein Ġstat is iche ĠMethod en Ġf uer Ġdie Ċ Ġ* ĠLa eng en valid er ung . ĠAb Ġv 0 . 3 . 1 Ġkann Ġsie Ġauch Ġan st elle Ġeines Ċ Ġ* ĠPr ue fz iffer n ver fahren s Ġe inge set zt Ġwerden . Ċ Ġ* Ċ Ġ* Ġ@ author Ġo bo e hm Ċ Ġ* Ġ@ since Ġ 0 . 2 Ġ( 2 0 . 0 4 . 2 0 1 7 ) Ċ Ġ*/ Ċ class ĠLength Validator < T Ġ: ĠSerializable > Ġ@ Jvm Over loads Ġconstructor ( private Ġval Ġmin : ĠInt , Ġprivate Ġval Ġmax : ĠInt Ġ= ĠInt . MAX _ VALUE ) Ġ: ĠNo op Ver fahren < T >() Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠL ief ert Ġtrue Ġzur ue ck , Ġwenn Ġder Ġue ber ge bene ĠWert Ġinner hal b Ġder Ġer la ub ten ĊĠĠĠĠ Ġ* ĠLa en ge Ġlie gt . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġw ert ĠF ach w ert Ġoder Ġge kap sel ter ĠWert ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġoder Ġfalse ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠisValid ( w ert : ĠT ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlength Ġ= ĠObjects . toString ( w ert , Ġ""). length ĊĠĠĠĠĠĠĠ Ġreturn Ġlength Ġ>= Ġmin Ġ&& Ġlength Ġ<= Ġmax ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠU e ber pr ue ft , Ġob Ġder Ġue ber geben en ĠW erte Ġinner hal b Ġder Ġmin / max - W erte ĊĠĠĠĠ Ġ* Ġlie gt . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġw ert Ġzu Ġue ber pr ue f ender ĠWert ĊĠĠĠĠ Ġ* Ġ@ return Ġden Ġue ber pr ue ft en ĠWert Ġ( z ur ĠWe iter ver ar beit ung ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġvalidate ( w ert : ĠT ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! isValid ( w ert )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Length Exception ( Objects . toString ( w ert ), Ġmin , Ġmax ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġw ert ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠNOT _ EMPTY _ VALID ATOR : ĠPr ue fz iffer Ver fahren < String > Ġ= ĠLength Validator ( 1 ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠValid iert Ġdie ĠLa en ge Ġdes Ġue ber geben en ĠWert es . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġzu Ġpr ue f ender ĠWert ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġexpected Ġer w art ete ĠLa en ge ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġder Ġge pr ue f te ĠWert Ġ( z ur Ġev tl . ĠWe iter ver ar beit ung ) ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġvalidate ( value : ĠString , Ġexpected : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . length Ġ!= Ġexpected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Length Exception ( value , Ġexpected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠValid iert Ġdie ĠLa en ge Ġdes Ġue ber geben en ĠWert es . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġzu Ġpr ue f ender ĠWert ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmin ĠĠ Ġge forder te ĠMin imal - La en ge ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmax ĠĠ ĠMax imal - La en ge ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġder Ġge pr ue f te ĠWert Ġ( z ur Ġev tl . ĠWe iter ver ar beit ung ) ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġvalidate ( value : ĠString , Ġmin : ĠInt , Ġmax : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( min Ġ== Ġmax ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalidate ( value , Ġmin ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . length Ġ< Ġmin Ġ|| Ġvalue . length Ġ> Ġmax ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Length Exception ( value , Ġmin , Ġmax ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠVer if zi ert Ġdie ĠLa en ge Ġdes Ġue ber geben en ĠWert es . ĠIm ĠG eg ens atz Ġzur ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[. validate ]- Me thode Ġwird Ġher bei Ġeine ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ IllegalArgumentException ] Ġge wor fen . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġzu Ġpr ue f ender ĠWert ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmin ĠĠ Ġge forder te ĠMin imal - La en ge ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmax ĠĠ ĠMax imal - La en ge ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġder Ġge pr ue f te ĠWert Ġ( z ur Ġev tl . ĠWe iter ver ar beit ung ) ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġverify ( value : ĠString , Ġmin : ĠInt , Ġmax : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate ( value , Ġmin , Ġmax ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠLocal ized IllegalArgumentException ( ex ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }