/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠRed ĠHat , ĠInc . Ċ Ġ* Ċ Ġ* ĠAll Ġrights Ġreserved . ĠThis Ġprogram Ġand Ġthe Ġaccompanying Ġmaterials Ċ Ġ* Ġare Ġmade Ġavailable Ġunder Ġthe Ġterms Ġof Ġthe ĠEclipse ĠPublic ĠLicense Ġv 1 . 0 Ċ Ġ* Ġand ĠApache ĠLicense Ġv 2 . 0 Ġwhich Ġaccomp anies Ġthis Ġdistribution . Ċ Ġ* Ċ Ġ* ĠThe ĠEclipse ĠPublic ĠLicense Ġis Ġavailable Ġat Ċ Ġ* Ġhttp :// www . eclipse . org / legal / e pl - v 1 0 . html Ċ Ġ* Ċ Ġ* ĠThe ĠApache ĠLicense Ġv 2 . 0 Ġis Ġavailable Ġat Ċ Ġ* Ġhttp :// www . opensource . org / licenses / apache 2 . 0 . php Ċ Ġ* Ċ Ġ* ĠYou Ġmay Ġelect Ġto Ġredistribute Ġthis Ġcode Ġunder Ġeither Ġof Ġthese Ġlicenses . Ċ Ġ*/ Ċ package Ġio . vertx . kotlin . ext . mongo Ċ Ċ import Ġio . vertx . ext . mongo . Col lation Options Ċ import Ġcom . mongodb . client . model . Col lation Strength Ċ Ċ /** Ċ Ġ* ĠA Ġfunction Ġproviding Ġa ĠDSL Ġfor Ġbuilding Ġ[ io . vertx . ext . mongo . Col lation Options ] Ġobjects . Ċ Ġ* Ċ Ġ* ĠOptions Ġused Ġto Ġconfigure Ġcollation Ġoptions . Ċ Ġ* Ċ Ġ* Ġ@ param Ġbackwards Ġ ĠOptional . ĠFlag Ġthat Ġdetermines Ġwhether Ġstrings Ġwith Ġdi acrit ics Ġsort Ġfrom Ġback Ġof Ġthe Ġstring , Ġsuch Ġas Ġwith Ġsome ĠFrench Ġdictionary Ġordering . Ġ< p > ĠIf Ġtrue , Ġcompare Ġfrom Ġback Ġto Ġfront . ĠIf Ġfalse , Ġcompare Ġfrom Ġfront Ġto Ġback . Ġ< p > ĠThe Ġdefault Ġvalue Ġis Ġfalse . Ċ Ġ* Ġ@ param Ġcase Level Ġ ĠOptional . ĠFlag Ġthat Ġdetermines Ġwhether Ġto Ġinclude Ġcase Ġcomparison Ġat Ġstrength Ġlevel Ġ 1 Ġor Ġ 2 . Ġ< p > ĠIf Ġtrue , Ġinclude Ġcase Ġcomparison ; Ġi . e . Ġ< p > ĠWhen Ġused Ġwith Ġstrength : 1 , Ġcollation Ġcomp ares Ġbase Ġcharacters Ġand Ġcase . ĠWhen Ġused Ġwith Ġstrength : 2 , Ġcollation Ġcomp ares Ġbase Ġcharacters , Ġdi acrit ics Ġ( and Ġpossible Ġother Ġsecondary Ġdifferences ) Ġand Ġcase . ĠIf Ġfalse , Ġdo Ġnot Ġinclude Ġcase Ġcomparison Ġat Ġlevel Ġ 1 Ġor Ġ 2 . ĠThe Ġdefault Ġis Ġfalse . Ċ Ġ* Ġ@ param Ġlocale Ġ ĠThe ĠI CU Ġlocale . ĠSee Ġ< a Ġhref =" https :// docs . mongodb . com / manual / reference / coll ation - locales - defaults /# std - label - coll ation - languages - locales "> Supported ĠLanguage s Ġand ĠLoc ales </ a > Ġfor Ġa Ġlist Ġof Ġsupported Ġlocales . Ġ< p > ĠThe Ġdefault Ġvalue Ġis Ġ< code > simple </ code > Ġwhich Ġspecifies Ġsimple Ġbinary Ġcomparison . Ċ Ġ* Ġ@ param Ġnormalization Ġ ĠOptional . ĠFlag Ġthat Ġdetermines Ġwhether Ġto Ġcheck Ġif Ġtext Ġrequire Ġnormalization Ġand Ġto Ġperform Ġnormalization . ĠGener ally , Ġmajority Ġof Ġtext Ġdoes Ġnot Ġrequire Ġthis Ġnormalization Ġprocessing . Ġ< p > ĠIf Ġtrue , Ġcheck Ġif Ġfully Ġnormalized Ġand Ġperform Ġnormalization Ġto Ġcompare Ġtext . ĠIf Ġfalse , Ġdoes Ġnot Ġcheck . Ġ< p > ĠThe Ġdefault Ġvalue Ġis Ġfalse . Ċ Ġ* Ġ@ param Ġnumeric Ordering Ġ ĠOptional . ĠFlag Ġthat Ġdetermines Ġwhether Ġto Ġcompare Ġnumeric Ġstrings Ġas Ġnumbers Ġor Ġas Ġstrings . Ġ< p > ĠIf Ġtrue , Ġcompare Ġas Ġnumbers ; Ġi . e . Ġ" 1 0 " Ġis Ġgreater Ġthan Ġ" 2 ". ĠIf Ġfalse , Ġcompare Ġas Ġstrings ; Ġi . e . Ġ" 1 0 " Ġis Ġless Ġthan Ġ" 2 ". Ġ< p > ĠDefault Ġis Ġfalse . Ċ Ġ* Ġ@ param Ġstrength Ġ ĠOptional . ĠThe Ġlevel Ġof Ġcomparison Ġto Ġperform . ĠCorre spon ds Ġto ĠI CU ĠComparison ĠLevel s . ĠPossible Ġvalues Ġare : Ġ< p > ĠValue ĠDescription Ġ 1 ĠPrimary Ġlevel Ġof Ġcomparison . ĠCol lation Ġperforms Ġcomparisons Ġof Ġthe Ġbase Ġcharacters Ġonly , Ġignoring Ġother Ġdifferences Ġsuch Ġas Ġdi acrit ics Ġand Ġcase . Ġ 2 ĠSecondary Ġlevel Ġof Ġcomparison . ĠCol lation Ġperforms Ġcomparisons Ġup Ġto Ġsecondary Ġdifferences , Ġsuch Ġas Ġdi acrit ics . ĠThat Ġis , Ġcollation Ġperforms Ġcomparisons Ġof Ġbase Ġcharacters Ġ( primary Ġdifferences ) Ġand Ġdi acrit ics Ġ( secondary Ġdifferences ). ĠD iffer ences Ġbetween Ġbase Ġcharacters Ġtakes Ġprecedence Ġover Ġsecondary Ġdifferences . Ġ 3 ĠT ert i ary Ġlevel Ġof Ġcomparison . ĠCol lation Ġperforms Ġcomparisons Ġup Ġto Ġt ert i ary Ġdifferences , Ġsuch Ġas Ġcase Ġand Ġletter Ġvariants . ĠThat Ġis , Ġcollation Ġperforms Ġcomparisons Ġof Ġbase Ġcharacters Ġ( primary Ġdifferences ), Ġdi acrit ics Ġ( secondary Ġdifferences ), Ġand Ġcase Ġand Ġvariants Ġ( ter ti ary Ġdifferences ). ĠD iffer ences Ġbetween Ġbase Ġcharacters Ġtakes Ġprecedence Ġover Ġsecondary Ġdifferences , Ġwhich Ġtakes Ġprecedence Ġover Ġt ert i ary Ġdifferences . ĠThis Ġis Ġthe Ġdefault Ġlevel . Ġ< p > Ġ 4 ĠQu atern ary ĠLevel . ĠLimited Ġfor Ġspecific Ġuse Ġcase Ġto Ġconsider Ġpunctuation Ġwhen Ġlevels Ġ 1 - 3 Ġignore Ġpunctuation Ġor Ġfor Ġprocessing ĠJapanese Ġtext . Ġ 5 ĠIdent ical ĠLevel . ĠLimited Ġfor Ġspecific Ġuse Ġcase Ġof Ġtie Ġbreak er . Ċ Ġ* Ċ Ġ* Ġ< p /> Ċ Ġ* ĠNOTE : ĠThis Ġfunction Ġhas Ġbeen Ġautomatically Ġgenerated Ġfrom Ġthe Ġ[ io . vertx . ext . mongo . Col lation Options Ġoriginal ] Ġusing ĠVert . x Ġcodegen . Ċ Ġ*/ Ċ fun Ġcollation Options Of ( ĊĠ Ġbackwards : ĠBoolean ? Ġ= Ġnull , ĊĠ Ġcase Level : ĠBoolean ? Ġ= Ġnull , ĊĠ Ġlocale : ĠString ? Ġ= Ġnull , ĊĠ Ġnormalization : ĠBoolean ? Ġ= Ġnull , ĊĠ Ġnumeric Ordering : ĠBoolean ? Ġ= Ġnull , ĊĠ Ġstrength : ĠCol lation Strength ? Ġ= Ġnull ): ĠCol lation Options Ġ= Ġio . vertx . ext . mongo . Col lation Options (). apply Ġ{ ĊĊĠ Ġif Ġ( back wards Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġthis . set Back wards ( back wards ) ĊĠ Ġ} ĊĠ Ġif Ġ( case Level Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġthis . set Case Level ( case Level ) ĊĠ Ġ} ĊĠ Ġif Ġ( locale Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġthis . set Locale ( locale ) ĊĠ Ġ} ĊĠ Ġif Ġ( normal ization Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġthis . set Normalization ( normal ization ) ĊĠ Ġ} ĊĠ Ġif Ġ( numeric Ordering Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġthis . set Numeric Ordering ( numeric Ordering ) ĊĠ Ġ} ĊĠ Ġif Ġ( strength Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġthis . set Strength ( strength ) ĊĠ Ġ} Ċ } ĊĊ