/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġd kim 1 9 3 7 5 Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ @ file : Suppress (" DE PREC ATION ") Ċ Ċ package Ġme . dk im 1 9 3 7 5 . dk im core . extension Ċ Ċ import Ġme . dk im 1 9 3 7 5 . dk im core . annotation . API Ċ import Ġorg . apache . commons . lang 3 . text . Str Subst it utor Ċ import Ġorg . apache . commons . text . String Subst it utor Ċ import Ġjava . util .* Ċ Ċ private Ġval Ġuses Lang 3 Ġ= Ġrun Catch ing OrNull Ġ{ ĠClass . forName (" org . apache . commons . lang 3 . StringUtils ") Ġ} Ġ!= Ġnull Ċ private Ġval Ġuses Apache Text Ġ= Ġrun Catch ing OrNull Ġ{ ĠClass . forName (" org . apache . commons . text . Word Utils ") Ġ} Ġ!= Ġnull Ċ Ċ @ API Ċ fun ĠString . to UUID (): ĠUUID ? Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUUID . fromString ( replace (" Ġ", Ġ"")) ĊĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġnew Ġ= Ġreplace ('- ', Ġ' Ġ'). replace (" Ġ", Ġ"") ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuuid 1 : ĠString Ġ= Ġnew . substring ( 0 , Ġ 8 ) ĊĠĠĠĠĠĠĠ Ġval Ġuuid 2 : ĠString Ġ= Ġnew . substring ( 8 , Ġ 1 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġuuid 3 : ĠString Ġ= Ġnew . substring ( 1 2 , Ġ 1 6 ) ĊĠĠĠĠĠĠĠ Ġval Ġuuid 4 : ĠString Ġ= Ġnew . substring ( 1 6 , Ġ 2 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġuuid 5 : ĠString Ġ= Ġnew . substring ( 2 0 ) ĊĠĠĠĠĠĠĠ Ġreturn ĠUUID . fromString ("$ uuid 1 -$ uuid 2 -$ uuid 3 -$ uuid 4 -$ uuid 5 ") ĊĠĠĠ Ġ} Ġcatch Ġ(_ : ĠIndex OutOfBoundsException ) Ġ{ ĊĠĠĠ Ġ} Ġcatch Ġ(_ : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ @ API Ċ fun ĠString . set Place holders ( map : ĠMap < String , ĠString >, Ġwrap Percent : ĠBoolean Ġ= Ġtrue ): ĠString Ġ= Ġif Ġ( wrap Percent ) Ġ{ ĊĠĠĠ Ġset Place holders ( map , Ġ"% ", Ġ"% ") Ċ } Ġelse Ġ{ ĊĠĠĠ Ġset Place holders ( map , Ġ"", Ġ"") Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġplaceholders Ġin Ġa ĠString Ċ Ġ* Ċ Ġ* Ġ ĠEX AMPLE : Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġ" Text Ġ( placeholder ) Ġand Ġ*( escaped ) ". set Place holders ( Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġmap Ġ= Ġmap Of ( Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" placeholder " Ġto Ġ" re placed ", Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" escaped " Ġto Ġ" not Ġreplaced " Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġ), Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġprefix Ġ= Ġ" (", Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġsuffix Ġ= Ġ" )", Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġescape Ġ= Ġ'*' Ċ Ġ* ĠĠĠĠĠ Ġ) Ċ Ġ* Ċ Ġ* Ġ Ġwill Ġreturn Ġ" Text Ġreplaced Ġand Ġ( escaped )" Ċ Ġ* Ċ Ġ* Ġ@ param Ġmap ĠThe Ġmap Ġto Ġreplace Ġthe Ġtext Ġwith Ġ- ĠKey Ġ= Ġold Ġvalue , ĠValue Ġ= Ġnew Ġvalue Ċ Ġ* Ġ@ param Ġprefix ĠThe Ġprefix Ġof Ġthe Ġplaceholder Ġto Ġreplace Ġ- Ġcan Ġbe Ġblank Ċ Ġ* Ġ@ param Ġsuffix ĠThe Ġsuffix Ġof Ġthe Ġplaceholder Ġto Ġreplace Ġ- Ġcan Ġbe Ġblank Ċ Ġ* Ġ@ param Ġescape ĠA Ġcharacter Ġto Ġexclude Ġthe Ġplaceholder Ġfrom Ġbeing Ġparsed Ġ- Ġ' 0 ' Ġ= Ġdon 't Ġescape Ċ Ġ* Ġ@ return ĠThe ĠString Ġwith Ġits Ġplaceholders Ġreplaced Ċ Ġ*/ Ċ @ API Ċ fun ĠString . set Place holders ( map : ĠMap < String , ĠString >, Ġprefix : ĠString , Ġsuffix : ĠString , Ġescape : ĠChar Ġ= Ġ' 0 '): ĠString Ġ{ ĊĠĠĠ Ġval Ġslow est Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnew Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġfor Ġ(( text , Ġreplacement ) Ġin Ġmap ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Ġ= Ġnew . replace ( if Ġ( prefix . isEmpty () Ġ&& Ġsuffix . isEmpty ()) Ġtext Ġelse Ġ"$ prefix $ text $ suffix ", Ġreplacement ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnew ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġuses Apache Text Ġ-> Ġif Ġ( prefix . isEmpty () Ġ|| Ġsuffix . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslow est () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString Subst it utor ( map , Ġprefix , Ġsuffix , Ġescape ). replace ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġuses Lang 3 Ġ-> Ġif Ġ( prefix . isEmpty () Ġ|| Ġsuffix . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslow est () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStr Subst it utor ( map , Ġprefix , Ġsuffix , Ġescape ). replace ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġslow est () ĊĠĠĠ Ġ} Ċ }