package Ġorg . dat ado zer . index . fields Ċ Ċ import Ġorg . apache . lucene . document . Int Point Ċ import Ġorg . apache . lucene . search . Query Ċ import Ġorg . apache . lucene . search . Sort Field Ċ import Ġorg . dat ado zer . models . FieldValue Ċ import Ġorg . dat ado zer . try Parse Ċ Ċ /* Ċ Ġ* ĠLicensed Ġto ĠData Do zer Ġunder Ġone Ġor Ġmore Ġcontributor Ċ Ġ* Ġlicense Ġagreements . ĠSee Ġthe ĠNOTICE Ġfile Ġdistributed Ġwith Ċ Ġ* Ġthis Ġwork Ġfor Ġadditional Ġinformation Ġregarding Ġcopyright Ċ Ġ* Ġownership . ĠData Do zer Ġlicenses Ġthis Ġfile Ġto Ġyou Ġ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 . Ċ Ġ*/ Ċ Ċ object ĠBool Field Ġ{ ĊĠĠĠ Ġprivate Ġval Ġinfo Ġ= ĠField Properties ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata TypeName Ġ= Ġ" Bool ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault FieldName Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsort FieldType Ġ= ĠSort Field . Type . INT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Numeric Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault StringValue Ġ= Ġ" 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupports Analyzer Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstored Only Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġneeds Extra Store Field Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto Pop ulated Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġminimum StringValue Ġ= Ġ" 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaximum StringValue Ġ= Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Field Ġ= ĠInt Field . info . create Field , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Dv Field Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Internal String Ġ= Ġfun ( value : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( value . startsWith (" t ", Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto External Ġ= Ġfun ( value ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( value Ġ== Ġ" 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" false " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" true " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Case Ġ= ĠField Value . Value Case . INTEGER _ VALUE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġminimum Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaximum Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd One Ġ= Ġfun ( x : ĠBoolean ) Ġ= Ġx , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubtract One Ġ= Ġfun ( x : ĠBoolean ) Ġ= Ġx , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Parse Ġ= Ġfun ( x ) Ġ= Ġtry Parse ( String :: to Boolean , Ġx , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrange Query Generator Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexact Query Generator Ġ= Ġthis :: new Exact Query , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Query Generator Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Internal Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Field Template Ġ= Ġthis :: update Field Template , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Field Template With FieldValue Ġ= Ġfun ( ft , Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis :: update Field Template . invoke ( ft , Ġvalue . bool Value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Field Template ( ft : ĠField Template , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġft . fields [ 0 ]. setInt Value ( if Ġ( value ) Ġ 1 Ġelse Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnew Exact Query ( fieldName : ĠString , Ġvalue : ĠBoolean ): ĠQuery Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠInt Point :: new Exact Query . invoke ( fieldName , Ġif Ġ( value ) Ġ 1 Ġelse Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠINSTANCE Ġ= ĠFieldType ( info ) Ċ } Ċ