// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.czechaddress.addressdatabase;
import java.util.ArrayList;
import java.util.List;
/**
* ViToCi is either a village, town or a city.
*
* @author Radomír Černoch radomir.cernoch@gmail.com
*/
public class ViToCi extends ElementWithStreets {
private ArrayList<Suburb> suburbs = new ArrayList<>();
/**
* Default constructor setting the name of this element.
*/
public ViToCi(String name) {
super(name);
}
/**
* Adds a new suburb to this municipality.
*/
public void addSuburb(Suburb suburbToAdd) {
suburbToAdd.setParent(this);
suburbs.add(suburbToAdd);
}
/**
* Adds new suburbs to this municipality.
*/
public void addSuburbs(List<Suburb> suburbsToAdd) {
for (Suburb suburbToAdd : suburbsToAdd) {
addSuburb(suburbToAdd);
}
}
/**
* Returns the list of all suburbs of this municipality.
*/
public ArrayList<Suburb> getSuburbs() {
return suburbs;
}
public Suburb findSuburb(String suburbName) {
if (suburbName == null) return null;
suburbName = suburbName.toUpperCase();
for (Suburb suburb : suburbs) {
if (suburb.getName().toUpperCase().equals(suburbName))
return suburb;
}
return null;
}
@Override
public List<Street> getAllStreets() {
List<Street> result = super.getAllStreets();
for (Suburb suburb : suburbs) {
result.addAll(suburb.getAllStreets());
}
return result;
}
@Override
public List<House> getAllHouses() {
List<House> result = super.getAllHouses();
for (Suburb suburb : suburbs) {
result.addAll(suburb.getAllHouses());
}
return result;
}
}