package Ġcom . example . ret rofit country api Ċ Ċ import Ġio . reactivex . Observable Ċ import Ġretrofit 2 . http . GET Ċ import Ġcom . google . gson . annotations . SerializedName Ċ import Ġretrofit 2 . http . Path Ċ import Ġretrofit 2 . http . Query ĊĊ Ċ // Creating ĠData ĠClasses ĠFor Ġcountry Ġlist Ċ data Ġclass ĠCountry ( ĊĠĠĠ Ġ@ SerializedName (" alpha 2 Code ") ĊĠĠĠ Ġval Ġalpha 2 Code : ĠString , ĊĠĠĠ Ġ@ SerializedName (" alpha 3 Code ") ĊĠĠĠ Ġval Ġalpha 3 Code : ĠString , ĊĠĠĠ Ġ@ SerializedName (" alt Spell ings ") ĊĠĠĠ Ġval Ġalt Spell ings : ĠList < String >, ĊĠĠĠ Ġ@ SerializedName (" area ") ĊĠĠĠ Ġval Ġarea : ĠDouble , ĊĠĠĠ Ġ@ SerializedName (" b orders ") ĊĠĠĠ Ġval Ġborders : ĠList < String >, ĊĠĠĠ Ġ@ SerializedName (" calling Codes ") ĊĠĠĠ Ġval Ġcalling Codes : ĠList < String >, ĊĠĠĠ Ġ@ SerializedName (" capital ") ĊĠĠĠ Ġval Ġcapital : ĠString , ĊĠĠĠ Ġ@ SerializedName (" ci oc ") ĊĠĠĠ Ġval Ġci oc : ĠString , ĊĠĠĠ Ġ@ SerializedName (" currencies ") ĊĠĠĠ Ġval Ġc urrencies : ĠList < Currency >, ĊĠĠĠ Ġ@ SerializedName (" de mon ym ") ĊĠĠĠ Ġval Ġdemon ym : ĠString , ĊĠĠĠ Ġ@ SerializedName (" flag ") ĊĠĠĠ Ġval Ġflag : ĠString , ĊĠĠĠ Ġ@ SerializedName (" gin i ") ĊĠĠĠ Ġval Ġg ini : ĠDouble , ĊĠĠĠ Ġ@ SerializedName (" languages ") ĊĠĠĠ Ġval Ġlanguages : ĠList < Language >, ĊĠĠĠ Ġ@ SerializedName (" lat lng ") ĊĠĠĠ Ġval Ġlat lng : ĠList < Double >, ĊĠĠĠ Ġ@ SerializedName (" name ") ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġ@ SerializedName (" native Name ") ĊĠĠĠ Ġval Ġnative Name : ĠString , ĊĠĠĠ Ġ@ SerializedName (" numeric Code ") ĊĠĠĠ Ġval Ġnumeric Code : ĠString , ĊĠĠĠ Ġ@ SerializedName (" population ") ĊĠĠĠ Ġval Ġpopulation : ĠInt , ĊĠĠĠ Ġ@ SerializedName (" region ") ĊĠĠĠ Ġval Ġregion : ĠString , ĊĠĠĠ Ġ@ SerializedName (" region al B locs ") ĊĠĠĠ Ġval Ġregion al B locs : ĠList < Region al Bloc >, ĊĠĠĠ Ġ@ SerializedName (" sub region ") ĊĠĠĠ Ġval Ġsub region : ĠString , ĊĠĠĠ Ġ@ SerializedName (" time zones ") ĊĠĠĠ Ġval Ġtime zones : ĠList < String >, ĊĠĠĠ Ġ@ SerializedName (" top Level Domain ") ĊĠĠĠ Ġval Ġtop Level Domain : ĠList < String >, ĊĠĠĠ Ġ@ SerializedName (" translations ") ĊĠĠĠ Ġval Ġtranslations : ĠTrans lations Ċ ) Ċ Ċ data Ġclass ĠReg ional Bloc ( ĊĠĠĠ Ġ@ SerializedName (" ac ronym ") ĊĠĠĠ Ġval Ġac ronym : ĠString , ĊĠĠĠ Ġ@ SerializedName (" name ") ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġ@ SerializedName (" other Ac ron y ms ") ĊĠĠĠ Ġval Ġother Ac ron y ms : ĠList < Any >, ĊĠĠĠ Ġ@ SerializedName (" other Names ") ĊĠĠĠ Ġval Ġother Names : ĠList < Any > Ċ ) Ċ Ċ data Ġclass ĠCurrency ( ĊĠĠĠ Ġ@ SerializedName (" code ") ĊĠĠĠ Ġval Ġcode : ĠString , ĊĠĠĠ Ġ@ SerializedName (" name ") ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġ@ SerializedName (" symbol ") ĊĠĠĠ Ġval Ġsymbol : ĠString Ċ ) Ċ Ċ data Ġclass ĠLanguage ( ĊĠĠĠ Ġ@ SerializedName (" iso 6 3 9 _ 1 ") ĊĠĠĠ Ġval Ġiso 6 3 9 1 : ĠString , ĊĠĠĠ Ġ@ SerializedName (" iso 6 3 9 _ 2 ") ĊĠĠĠ Ġval Ġiso 6 3 9 2 : ĠString , ĊĠĠĠ Ġ@ SerializedName (" name ") ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġ@ SerializedName (" native Name ") ĊĠĠĠ Ġval Ġnative Name : ĠString Ċ ) Ċ Ċ data Ġclass ĠTrans lations ( ĊĠĠĠ Ġ@ SerializedName (" it ") ĊĠĠĠ Ġval Ġ` it `: ĠString , ĊĠĠĠ Ġ@ SerializedName (" br ") ĊĠĠĠ Ġval Ġbr : ĠString , ĊĠĠĠ Ġ@ SerializedName (" de ") ĊĠĠĠ Ġval Ġde : ĠString , ĊĠĠĠ Ġ@ SerializedName (" es ") ĊĠĠĠ Ġval Ġes : ĠString , ĊĠĠĠ Ġ@ SerializedName (" fa ") ĊĠĠĠ Ġval Ġfa : ĠString , ĊĠĠĠ Ġ@ SerializedName (" fr ") ĊĠĠĠ Ġval Ġfr : ĠString , ĊĠĠĠ Ġ@ SerializedName (" hr ") ĊĠĠĠ Ġval Ġhr : ĠString , ĊĠĠĠ Ġ@ SerializedName (" ja ") ĊĠĠĠ Ġval Ġja : ĠString , ĊĠĠĠ Ġ@ SerializedName (" nl ") ĊĠĠĠ Ġval Ġnl : ĠString , ĊĠĠĠ Ġ@ SerializedName (" pt ") ĊĠĠĠ Ġval Ġpt : ĠString Ċ ) Ċ Ċ // ĠTo Ġget Ġall ĠCountry Ġname Ċ interface ĠIN etwork API Ġ{ ĊĊĠĠĠ Ġ@ GET (" all /") ĊĠĠĠ Ġfun ĠgetAll Posts (): ĠObservable < List < Country >> Ċ } Ċ Ċ // To Ġget ĠCountry ĠDetail ĠSearch ĠBy Ġname Ġand ĠG iving ĠQuery Ġfull Text = True Ġto ĠSearch Ġon Ġbasis Ġof Ġfull Ġname Ċ interface ĠIN etwork API _ detail Ġ{ ĊĊĠĠĠ Ġ@ GET ("{ name }") ĊĠĠĠ Ġfun ĠgetAll Country ByName (@ Path (" name ") Ġname : ĠString , ĊĠĠĠ Ġ@ Query (" full Text ") Ġfull Text : String ): ĠObservable < List < Country >> Ċ } Ċ