package cz.nalezen.osm.extractor.data;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class District {
private String name;
private ArrayList<City> cities = new ArrayList<>();
public District() {
}
public String getName() {
return name;
}
public void setName(String name) {
if (name.length()<3) {
throw new RuntimeException(String.format("Too short district name: '%s'", name));
}
this.name = name;
}
public ArrayList<City> getCities() {
return cities;
}
public void setCities(ArrayList<City> cities) {
this.cities = cities;
cities.forEach(city->city.setDistrict(this));
}
@JsonIgnore
public City assureCity(String cityName) {
String cname = cityName.trim().toLowerCase();
for (City city : cities) {
if (city.getName().equals(cname)) {
return city;
}
}
City city = new City(this);
city.setName(cname);
cities.add(city);
return city;
}
public City lookupCity(String cityName) {
String cname = cityName.trim().toLowerCase();
for (City city : cities) {
if (city.getName().equals(cname)) {
return city;
}
}
return null;
}
}