/* - Ċ Ġ* Ġ#% L Ċ Ġ* ĠAx on ĠFramework ĠKotlin ĠExtension Ċ Ġ* Ġ%% Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠAx on IQ Ċ Ġ* Ġ%% Ċ Ġ* Ġ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 . Ċ Ġ* Ġ# L % Ċ Ġ*/ Ċ package Ġorg . ax on framework . extensions . kotlin Ċ Ċ import Ġorg . ax on framework . messaging . respon set ypes . Response Types Ċ import Ġorg . ax on framework . query handling . Query Gateway Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . Comp letableFuture Ċ Ċ /** Ċ Ġ* ĠExtensions Ġto Ġaccess Ġquery Ġgateway . Ċ Ġ*/ Ċ object ĠQuery Gateway Extensions Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRe ified Ġversion Ġof Ġquery For Multiple . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠR , Ġre ified ĠQ > ĠQuery Gateway . query For Multiple ( query Name : ĠString , Ġquery : ĠQ ): ĠCompletableFuture < List < R >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . query ( query Name , Ġquery , ĠResponse Types . multiple Instances Of ( R :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRe ified Ġversion Ġof Ġquery For Single . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠR , Ġre ified ĠQ > ĠQuery Gateway . query For Single ( query Name : ĠString , Ġquery : ĠQ ): ĠCompletableFuture < R > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . query ( query Name , Ġquery , ĠResponse Types . instance Of ( R :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRe ified Ġversion Ġof Ġquery For Optional . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠR , Ġre ified ĠQ > ĠQuery Gateway . query For Optional ( query Name : ĠString , Ġquery : ĠQ ): ĠCompletableFuture < Optional < R >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . query ( query Name , Ġquery , ĠResponse Types . optional InstanceOf ( R :: class . java )) ĊĠĠĠ Ġ} Ċ Ċ } Ċ