// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.czechaddress.addressdatabase; import java.util.ArrayList; /** * Region is an area within the country. It contains {@link ViToCi}s (villages, * towns, cities). * * @author Radomír Černoch radomir.cernoch@gmail.com */ public class Region extends ElementWithStreets { private ArrayList<ViToCi> vitocis = new ArrayList<>(); /** * Adds a single municipality into this element. */ public void addViToCi(ViToCi municipality) { municipality.setParent(this); vitocis.add(municipality); } /** * Replaces the list of municipalities of this element. */ public void setViToCis(ArrayList<ViToCi> municipalities) { this.vitocis = municipalities; for (ViToCi obec : municipalities) { obec.setParent(this); } } /** * Returns the list of all municipalities in this region. */ public ArrayList<ViToCi> getViToCis() { return vitocis; } public ViToCi findViToCi(String viToCiName) { if (viToCiName == null) return null; viToCiName = viToCiName.toUpperCase(); for (ViToCi vitoci : vitocis) { if (vitoci.getName().toUpperCase().equals(name)) return vitoci; } return null; } String nuts3name = null; String nuts4name = null; /** * Default constructor setting the name of this region. */ public Region(String name) { super(name); } /** * Constructor which sets the region's name together with higher * administrative areas. */ public Region(String name, String nuts3name, String nuts4name) { super(name); if (nuts3name != null) this.nuts3name = nuts3name; if (nuts4name != null) this.nuts4name = nuts4name; } public String getNuts3Name() { return nuts3name; } public String getNuts4Name() { return nuts4name; } /** * Returns the name of this region. If the NUTS3 name was entered, * its name is appended to the result. */ @Override public String toString() { String thisString = name; if (nuts3name != null) thisString += " (kraj " + nuts3name + ")"; return thisString; } }