/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 6 - 2 0 2 0 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* ĠĠĠ Ġ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 . Ċ Ġ*/ Ċ package Ġorg . mybatis . dynamic . sql . util . kotlin Ċ Ċ import Ġorg . mybatis . dynamic . sql . Basic Column Ċ import Ġorg . mybatis . dynamic . sql . select . Query Expression DSL Ċ import Ġorg . mybatis . dynamic . sql . select . Select Model Ċ Ċ @ My Batis Dsl Marker Ċ class ĠKotlin Union Builder ( private Ġval Ġunion Builder : ĠQuery Expression DSL < Select Model >. Union Builder ) Ġ{ ĊĠĠĠ Ġfun Ġselect ( var arg Ġselect List : ĠBasic Column , Ġcomp leter : ĠSelect Comp leter ) Ġ= ĊĠĠĠĠĠĠĠ Ġselect ( select List . toList (), Ġcomp leter ) ĊĊĠĠĠ Ġfun Ġselect ( select List : ĠList < Basic Column >, Ġcomp leter : ĠSelect Comp leter ) Ġ= ĊĠĠĠĠĠĠĠ Ġcomp leter ( Kotlin Select Builder ( union Builder . select ( select List ))) ĊĊĠĠĠ Ġfun Ġselect Distinct ( var arg Ġselect List : ĠBasic Column , Ġcomp leter : ĠSelect Comp leter ) Ġ= ĊĠĠĠĠĠĠĠ Ġselect Distinct ( select List . toList (), Ġcomp leter ) ĊĊĠĠĠ Ġfun Ġselect Distinct ( select List : ĠList < Basic Column >, Ġcomp leter : ĠSelect Comp leter ) Ġ= ĊĠĠĠĠĠĠĠ Ġcomp leter ( Kotlin Select Builder ( union Builder . select Distinct ( select List ))) Ċ } Ċ