package Ġcom . var abyte . k ob web . gradle . application . templates Ċ Ċ import Ġcom . var abyte . k ob web . gradle . application . project . api . Api Data Ċ import Ġcom . var abyte . k ob web . gradle . application . project . api . Api Entry Ċ import Ġcom . var abyte . k ob web . gradle . application . project . api . Init Api Entry Ċ Ċ fun Ġcreate Apis Factory Impl ( api Data : ĠApi Data ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ""" ĊĠĠĠĠĠĠĠ Ġimport Ġcom . var abyte . k ob web . api . Apis ĊĠĠĠĠĠĠĠ Ġimport Ġcom . var abyte . k ob web . api . Apis Factory ĊĠĠĠĠĠĠĠ Ġimport Ġcom . var abyte . k ob web . api . Init Api Context ĊĠĠĠĠĠĠĠ Ġimport Ġcom . var abyte . k ob web . api . data . Mutable Data ĊĠĠĠĠĠĠĠ Ġimport Ġcom . var abyte . k ob web . api . log . Logger ĊĊĠĠĠĠĠĠĠ Ġclass ĠAp is Factory Impl Ġ: ĠAp is Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( logger : ĠLogger ): ĠAp is Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠMutable Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġap is Ġ= ĠAp is ( data , Ġlogger ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGenerates Ġlines Ġlike : Ġap is . register ("/ path / to / api ") Ġ{ Ġctx Ġ-> Ġpath . to . api . method ( ctx ) Ġ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSort Ġvalues Ġas Ġit Ġmakes Ġthe Ġgenerated Ġregistration Ġlogic Ġeasier Ġto Ġfollow ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Data . api Methods . sorted By Ġ{ Ġentry Ġ-> Ġentry . route Ġ}. join ToString ("\ n ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ") Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" apis . register ("${ entry . route }") Ġ{ Ġctx Ġ-> Ġ${ entry . fq n }( ctx ) Ġ} """ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( api Data . init Methods . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" val Ġinit Ctx Ġ= ĠInit Api Context ( apis , Ġdata , Ġlogger )" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Data . init Methods . join ToString ("\ n ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ") Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ${ entry . fq n }( init Ctx ) """ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġap is ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () Ċ }