package Ġcom . kk box . open ap ide veloper . api Ċ Ċ import Ġcom . google . gson . JsonObject Ċ import Ġcom . kk box . open ap ide veloper . Endpoint Ċ import Ġcom . ko ush ik dut ta . ion . future . Response Future Ċ Ċ /** Ċ Ġ* ĠList Ġcategories Ġof Ġnew Ġrelease Ġcategory Ġand Ġget Ġmetadata Ġof Ġspecific Ġnew Ġrelease Ġcategory . Ċ Ġ* Ċ Ġ* Ġ@ property ĠhttpClient ĠGet Ġresponse Ġfrom Ġspecific Ġurl . Ċ Ġ* Ġ@ property Ġt erritory ĠThe Ġcurrent Ġt erritory . Ċ Ġ* Ġ@ constructor ĠCreates Ġa Ġnew Ġrelease Ġcategory Ġfetch er . Ċ Ġ* Ġ@ see Ġ` https :// docs . kk box . codes / docs / new - release - categories ` Ċ Ġ*/ Ċ class ĠNew Release Category Fetcher ( private Ġval ĠhttpClient : ĠHttpClient , Ġprivate Ġval Ġt erritory : ĠString Ġ= Ġ" TW ") Ġ{ ĊĠĠĠ Ġprivate Ġval Ġendpoint : ĠString Ġ= ĠEndpoint . API . NEW _ RELEASE _ CATEG ORIES . uri ĊĠĠĠ Ġlateinit Ġvar Ġcategory Id : ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFetch Ġall Ġnew Ġrelease Ġcategories . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġlimit ĠThe Ġsize Ġfor Ġone Ġpage . ĊĠĠĠĠ Ġ* Ġ@ param Ġoffset ĠThe Ġoffset Ġindex Ġfor Ġfirst Ġelement . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe ĠAPI Ġresponse . ĊĠĠĠĠ Ġ* Ġ@ sample ĠNew Release Category Fetcher . fetch All New Release Categories () ĊĠĠĠĠ Ġ* Ġ@ see Ġ` https :// docs . kk box . codes / docs / new - release - categories ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfetch All New Release Categories ( limit : ĠInt ? Ġ= Ġnull , Ġoffset : ĠInt ? Ġ= Ġnull ): ĠResponse Future < JsonObject > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠhttpClient . get ( endpoint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of (" ter rit ory " Ġto Ġt erritory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" limit " Ġto Ġlimit ?. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" offset " Ġto Ġoffset ?. toString ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġcategory ĠID ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcategory Id Ġthe Ġcategory ĠID . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġnew Ġrelease Ġcategory ĠID . ĊĠĠĠĠ Ġ* Ġ@ see Ġ` https :// docs . kk box . codes / docs / new - release - categories - category - id ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset CategoryId ( categoryId : ĠString ): ĠNew Release Category Fetcher Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . categoryId Ġ= Ġcategory Id ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFetch Ġnew Ġrelease Ġcategory Ġby Ġgiven ĠID . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġobject Ġof Ġnew Ġrelease Ġcategory 's Ġmetadata . ĊĠĠĠĠ Ġ* Ġ@ sample ĠNew Release Category Fetcher . set CategoryId (' 1 ZQ wm FT a LE 4 p 7 BG - Ua '). fetch Metadata () ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfetch Metadata (): ĠResponse Future < JsonObject > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠhttpClient . get ( endpoint Ġ+ Ġ"/ $ categoryId ", Ġmap Of (" ter rit ory " Ġto Ġt erritory )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFetch Ġalbum s Ġof Ġnew Ġrelease Ġcategory Ġby Ġgiven ĠID ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġlimit ĠThe Ġsize Ġfor Ġone Ġpage . ĊĠĠĠĠ Ġ* Ġ@ param Ġoffset ĠThe Ġoffset Ġindex Ġfor Ġfirst Ġelement . ĊĠĠĠĠ Ġ* Ġ@ sample ĠNew Release Category Fetcher . set CategoryId (' 1 ZQ wm FT a LE 4 p 7 BG - Ua '). fetch Album s () ĊĠĠĠĠ Ġ* Ġ@ return Ġthe ĠAPI Ġresponse . ĊĠĠĠĠ Ġ* Ġ@ see Ġ` https :// docs . kk box . codes / docs / new - release - categories - category - id - albums ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfetch Album s ( limit : ĠInt ? Ġ= Ġnull , Ġoffset : ĠInt ? Ġ= Ġnull ): ĠResponse Future < JsonObject > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠhttpClient . get ("$ endpoint /$ categoryId / albums ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of (" ter rit ory " Ġto Ġt erritory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" limit " Ġto Ġlimit ?. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" offset " Ġto Ġoffset ?. toString ())) ĊĠĠĠ Ġ} Ċ }