package Ġonline . p izz ac rust . kotlin rob lox . std . global Ċ Ċ import Ġonline . p izz ac rust . kotlin rob lox . api . global . Club Ċ import Ġonline . p izz ac rust . kotlin rob lox . api . global . Player Ċ import Ġonline . p izz ac rust . kotlin rob lox . api . global . Profile Ċ import Ġonline . p izz ac rust . kotlin rob lox . implementation Ċ import Ġonline . p izz ac rust . kotlin rob lox . xml . Element Ċ Ċ fun Ġplayer ( username : ĠString ): ĠStd Player ? Ġ{ ĊĠĠĠ Ġval Ġprofile Ġ= Ġprofile ( username ) ĊĠĠĠ Ġreturn Ġif Ġ( profile Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠStd Player ( profile ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġplayer ( userId : ĠLong ): ĠStd Player ? Ġ{ ĊĠĠĠ Ġval Ġprofile Ġ= Ġprofile ( userId ) ĊĠĠĠ Ġreturn Ġif Ġ( profile Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠStd Player ( profile ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠStd Player ( profile : ĠProfile ) Ġ: ĠPlayer , ĠProfile Ġby Ġprofile Ġ{ ĊĊĠĠĠ Ġval Ġcached Profile : ĠElement Ġ= Ġimplementation . parse Xml ( implementation . req Manager . get ( profile Url ). response ) ĊĊĠĠĠ Ġoverride Ġval Ġpast User names : ĠList < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" Previous Ġimplementation Ġdidn 't Ġwork , ĠXML Ġlibrary Ġis Ġnot Ġfunctional .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠFriend Data ( var ĠUserId : ĠLong ?, Ġvar ĠUsername : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġconstructor () Ġ: Ġthis ( null , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠFriend Response ( var ĠF riends : ĠArray < Friend Data ?> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġconstructor () Ġ: Ġthis ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġfriends : ĠList < Profile > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreferences Ġ= ĠArrayList < Profile >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// www . rob lox " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ". com / friends / json ? userId =$ id & currentPage = 0 & pageSize = 1 0 0 0 & img Width = 1 1 0 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"& img Height = 1 1 0 & img Format = jpeg & friends Type " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"= Best Friends " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġimplementation . json Manager . fromJson ( implementation . req Manager . get ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response , ĠFriend Response ()) Ġas ĠFriend Response ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( friend Ġin Ġresponse . Friends Ġ?: Ġthrow ĠRuntimeException (" Friends Ġis Ġnull ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( friend ?. UserId Ġ!= Ġnull Ġ&& Ġfriend . Username Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreferences . add ( Std Profile ( friend . UserId !! , Ġfriend . Username !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġreferences ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġclub : ĠClub ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" Previous Ġimplementation Ġdidn 't Ġwork , ĠXML Ġlibrary Ġis Ġnot Ġfunctional .") ĊĠĠĠĠĠĠĠ Ġ} Ċ }