package Ġkt Ċ Ċ import Ġexamples . AB e an Ċ import Ġexamples . B Bean Ċ import Ġexamples . Bean Ċ import Ġio . joo by . K oo by Ċ import Ġio . joo by . StatusCode Ċ import Ġio . joo by . exception . StatusCode Exception Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . Callable Ċ import Ġjava . util . concurrent . Comp letableFuture ĊĊ Ċ class ĠK t Route ReturnType Ġ: ĠK oo by ({ ĊĠ Ġfun Ġsomething (): ĠString Ġ{ ĊĠĠĠ Ġthrow ĠStatusCode Exception ( StatusCode . UN AUTHORIZ ED , Ġ" test ") ĊĠ Ġ} ĊĊĠ Ġfun Ġsome Generic (): ĠList < String > Ġ{ ĊĠĠĠ Ġreturn ĠArrayList () ĊĠ Ġ} ĊĊĠ Ġ@ Throws ( Illegal AccessException :: class ) ĊĠ Ġfun Ġthrows I AE (): ĠString Ġ{ ĊĠĠĠ Ġthrow ĠIllegal AccessException (" no - access ") ĊĠ Ġ} ĊĊĠ Ġpath ("/ literal ") Ġ{ ĊĠĠĠ Ġget ("/ 1 ") Ġ{ ĊĠĠĠĠĠ Ġ" str " ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 2 ") Ġ{ Ġ 5 7 Ġ} ĊĠĠĠ Ġget ("/ 3 ") Ġ{} ĊĠĠĠ Ġget ("/ 4 ") Ġ{ Ġtrue Ġ} ĊĠ Ġ} ĊĠ Ġpath ("/ call ") Ġ{ ĊĠĠĠ Ġget ("/ 1 ") Ġ{ ĠK t Route ReturnType () Ġ} ĊĠĠĠ Ġget ("/ 2 ") Ġ{ ĠStatic s . compute Static () Ġ} ĊĠĠĠ Ġget ("/ 3 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġinstance Ġ= ĠInstance () ĊĠĠĠĠĠ Ġinstance . newInstance ( 0 , Ġ" c ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 4 ") Ġ{ Ġsomething () Ġ} ĊĠĠĠ Ġget ("/ 5 ") Ġ{ Ġthrows I AE () Ġ} ĊĠĠĠ Ġget ("/ 6 ") Ġ{ Ġsome Generic () Ġ} ĊĠ Ġ} ĊĠ Ġpath ("/ generic ") Ġ{ ĊĠĠĠ Ġget ("/ 1 ") Ġ{ ĊĠĠĠĠĠ ĠCompletableFuture . supply Async Ġ{ Ġctx . query (" n "). intValue ( 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ. then Apply Ġ{ Ġx Ġ-> Ġx Ġ* Ġ 2 Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ. when Complete Ġ{ Ġv , Ġx Ġ-> Ġctx . render ( v ) Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 2 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġfuture Ġ= ĠCompletableFuture . completed Future ( 0 ) ĊĠĠĠĠĠĠĠĠĠ Ġ. then Apply Ġ{ Ġx Ġ-> Ġx Ġ* Ġ 2 Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ. then Apply Ġ{ Ġx Ġ-> Ġx Ġ* Ġ 3 Ġ} ĊĠĠĠĠĠ Ġfuture ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 3 ") Ġ{ ĊĠĠĠĠĠ ĠCompletableFuture ĊĠĠĠĠĠĠĠĠĠ Ġ. supply Async Ġ{ Ġ" foo " Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 4 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġcallable Ġ= ĠCallable Ġ{ ĠByte . MIN _ VALUE Ġ} ĊĠĠĠĠĠ Ġcallable ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġpath ("/ local var ") Ġ{ ĊĠĠĠ Ġget ("/ 1 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġq Ġ= Ġctx . query (" q "). value () ĊĠĠĠĠĠ Ġq ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 2 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġq Ġ= Ġctx . query (" q "). intValue () ĊĠĠĠĠĠ Ġq ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 3 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġvalues Ġ= Ġctx . path (" v "). toList (). to Typed Array () ĊĠĠĠĠĠ Ġvalues ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 4 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġvalues Ġ= Ġfloat ArrayOf ( ctx . query (" f 1 "). float Value (), Ġctx . query (" f 2 "). float Value ()) ĊĠĠĠĠĠ Ġvalues ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġpath ("/ complexType ") Ġ{ ĊĠĠĠ Ġget ("/ 1 ") Ġ{ Ġctx . query (" q "). toList () Ġ} ĊĠĠĠ Ġget ("/ 2 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġq Ġ= Ġctx . query (" q "). toList () ĊĠĠĠĠĠ Ġq ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 3 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġvalues : ĠList < List < String >> Ġ= ĠArrayList () ĊĠĠĠĠĠ Ġvalues . stream (). filter Ġ{ Ġobj : ĠList < String >? Ġ-> ĠObjects . non Null ( obj ) Ġ}. toArray () ĊĠĠĠĠĠ Ġvalues ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġpath ("/ multiple Types ") Ġ{ ĊĠĠĠ Ġget ("/ 1 ") Ġ{ ĊĠĠĠĠĠ Ġif Ġ( ctx . isIn Io Thread ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn @ get ĠArrayList < String >() ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn @ get ĠLinkedList < String >() ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 2 ") Ġ{ ĊĠĠĠĠĠ Ġif Ġ( ctx . isIn Io Thread ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn @ get ĠA Bean () ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn @ get ĠB Bean () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 3 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġuser : ĠBean ĊĠĠĠĠĠ Ġif Ġ( ctx . isIn Io Thread ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Ġ= ĠA Bean () ĊĠĠĠĠĠĠĠ Ġreturn @ get Ġuser ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Ġ= ĠB Bean () ĊĠĠĠĠĠĠĠ Ġreturn @ get Ġuser ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġpath ("/ array ") Ġ{ ĊĠĠĠ Ġget ("/ 1 ") Ġ{ Ġboolean ArrayOf ( true , Ġfalse , Ġfalse ) Ġ} ĊĠĠĠ Ġget ("/ 2 ") Ġ{ ĊĠĠĠĠĠ Ġval Ġlist Ġ= ĠlistOf < Kt Route ReturnType >() ĊĠĠĠĠĠ Ġlist ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ("/ 3 ") Ġ{ ĠInt Array ( 0 ) Ġ} ĊĠĠĠ Ġget ("/ 4 ") Ġ{ ĠarrayOf (" foo ", Ġ" bar ") Ġ} ĊĠ Ġ} Ċ }) Ġ{ ĊĠ Ġinternal Ġobject ĠStatic s Ġ{ ĊĠĠĠ Ġfun Ġcompute Static (): ĠString Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ" static " ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġinternal Ġclass ĠInstance Ġ{ ĊĠĠĠ Ġfun Ġnew Instance ( x : ĠInt , Ġv : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ" static " ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊ Ċ } Ċ