package com.ajah.geo; /** * Represents a country/nation/sovereign state. * * @author Eric F. Savage <code@efsavage.com> */ public interface Country { /** * The internal ID of the country. Is not dictated by any external/official * nomenclature, although it may match one for the sake of readability. * * Example: The ID of the United States might be "us". * * @return The internal ID. Should never be null or empty. */ public String getId(); /** * The public abbreviation of the country. Is not dictated by the official * nomenclature, but may match one for consistency such as ISO or those * defined by postal services. * * Example: The abbreviation of the United States might be "USA". * * @return The public abbreviation of the country. Should never be null or * empty. */ public String getAbbr(); /** * The common name of the country. * * Example: The name of The United States of America would be * "United States", not the official "The United States of America". * * @return The common name of the country. Should never be null or empty. */ public String getName(); }