ï»¿ /* Ċ Ġ* Ġ ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ġor Ġmore Ċ Ġ* Ġ Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ġdistributed Ġwith Ċ Ġ* Ġ Ġthis Ġwork Ġfor Ġadditional Ġinformation Ġregarding Ġcopyright Ġownership . Ċ Ġ* Ġ ĠThe ĠASF Ġ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 . Ċ Ġ*/ Ċ Ċ package Ġcom . sd ibt . k orm . core . o ql ĊĊ Ċ class ĠO QL 2 ( private Ġval Ġcurrent O QL : ĠO QL ) Ġ: ĠO QL 4 ( current O QL ), ĠIO QL 2 Ġ{ ĊĊ ĉ override Ġfun Ġ< T > ĠGroup By ( field : ĠT ): ĠO QL 3 Ġ{ Ċĉ ĉ val ĠfieldName Ġ= Ġcurrent O QL . take One Stack Fields (). sql FieldName Ċĉ ĉ current O QL . groupBy Field Names . add ( fieldName !!. trim ()) Ċĉ ĉ current O QL . o ql String Ġ+= Ġ"\ r \ n ĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġ" Ġ+ ĠfieldName Ċĉ ĉ return ĠO QL 3 ( current O QL ) Ċ ĉ } ĊĊĊ ĉ fun Ġ< T > ĠGroup By ( field : ĠT , Ġvar arg Ġothers : ĠT ): ĠO QL 3 Ġ{ Ċĉ ĉ var Ġstr Temp Ġ= Ġ"" Ċĉ ĉ val ĠfieldName Ġ= Ġcurrent O QL . take One Stack Fields (). sql FieldName Ċĉ ĉ current O QL . groupBy Field Names . add ( fieldName !!. trim ()) ĊĊĉ ĉ for Ġ( i Ġin Ġothers . indices ) Ġ{ Ċĉĉ ĉ val ĠfieldName Temp Ġ= Ġcurrent O QL . take One Stack Fields (). sql FieldName Ċĉĉ ĉ current O QL . groupBy Field Names . add ( fieldName Temp !!. trim ()) Ċĉĉ ĉ str Temp Ġ+= Ġ"," Ġ+ ĠfieldName Temp Ċĉ ĉ } ĊĊĉ ĉ current O QL . o ql String Ġ+= Ġ"\ r \ n ĠĠĠĠĠĠĠĠĠ ĠGROUP ĠBY Ġ" Ġ+ ĠfieldName Ġ+ Ġstr Temp Ċĉ ĉ return ĠO QL 3 ( current O QL ) Ċ ĉ } ĊĊĊ ĉ override Ġfun Ġ< T > ĠHaving ( field : ĠT , ĠValue : ĠT , Ġsql Function Format : ĠString ): ĠO QL 4 Ġ{ Ċĉ ĉ val Ġq 3 Ġ= ĠO QL 3 ( current O QL ) Ċĉ ĉ return Ġq 3 . Having ( field , ĠValue , Ġsql Function Format ) Ċ ĉ } ĊĊĊ Ċ } Ċ