29 lines
1.0 KiB
Java
29 lines
1.0 KiB
Java
package ru.dima.weather.city;
|
|
|
|
import ru.dima.weather.cli.CLIInputReader;
|
|
|
|
import java.util.List;
|
|
|
|
public class IpProviderCLISelector {
|
|
private CLIInputReader cliInputReader;
|
|
private List<IpProvider> ipProviders;
|
|
public IpProviderCLISelector(CLIInputReader cliInputReader, List<IpProvider> ipProviders) {
|
|
this.cliInputReader = cliInputReader;
|
|
this.ipProviders = ipProviders;
|
|
}
|
|
|
|
public IpProvider selectIpProviderFromCLI() {
|
|
System.out.println("Выберите сервис для получения вашего города через ip:");
|
|
for(int i = 0; i < ipProviders.size(); i ++){
|
|
System.out.println((i + 1) + ". " + ipProviders.get(i).getName());
|
|
}
|
|
int sks = cliInputReader.readInteger();
|
|
while (sks < 1 || sks > ipProviders.size()) {
|
|
System.out.println("Такого варианта нет. Побробуйте еще раз");
|
|
sks = cliInputReader.readInteger();
|
|
}
|
|
return ipProviders.get(sks - 1);
|
|
|
|
}
|
|
}
|