package Ġcom . d arth arr mi . we ath ery . use cases . home Ċ Ċ import Ġcom . d arth arr mi . we ath ery . domain . City Weather Ċ import Ġcom . d arth arr mi . we ath ery . repositories . IO pen Weather Map DataSource . Repository Ċ Ċ interface ĠI Find C ities ByName UseCase Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġexecute ( query : ĠString ): ĠList < City Weather > Ċ } Ċ Ċ class ĠFind C ities ByName UseCase ( private Ġval Ġrepository : ĠRepository ): ĠI Find C ities ByName UseCase Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( query : ĠString ): ĠList < City Weather > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrepository . find C ities ByName ( query ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result . count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult . cities ĊĠĠĠ Ġ} Ċ }