Package net.kafujo.samples.wikidata
Class WikidataCity
- java.lang.Object
-
- net.kafujo.samples.wikidata.WikidataCity
-
- All Implemented Interfaces:
Comparable<WikidataCity>
public class WikidataCity extends Object implements Comparable<WikidataCity>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Optional<WikidataCity>byId(Collection<WikidataCity> set, String id)static List<WikidataCity>byName(Collection<WikidataCity> set, String name)intcompareTo(WikidataCity o)booleanequals(Object o)static WikidataCityfrom(org.apache.commons.csv.CSVRecord rec)StringgetCountry()IntegergetElevation()LocalDategetInception()LocationgetLocation()StringgetName()LonggetPopulation()ZoneIdgetTimeZone()URLgetWebsite()StringgetWikidataId()inthashCode()booleanisCapital()static Set<WikidataCity>read(InputStream is)Reads the whole csv file to a Sorted Set.StringtoString()
-
-
-
Method Detail
-
read
public static Set<WikidataCity> read(InputStream is)
Reads the whole csv file to a Sorted Set. BecausecompareTo(WikidataCity)uses only name, only the first occurrence of each city will end up in the list.- Parameters:
is- stream to read from- Returns:
- set without duplicates
-
from
public static WikidataCity from(org.apache.commons.csv.CSVRecord rec) throws MalformedURLException
- Parameters:
rec- data to build a city object- Returns:
- a City object, if the data in
recwas ok - Throws:
RuntimeException- when something goes wrong to easily ignore the dataset.MalformedURLException
-
byName
public static List<WikidataCity> byName(Collection<WikidataCity> set, String name)
-
byId
public static Optional<WikidataCity> byId(Collection<WikidataCity> set, String id)
-
compareTo
public int compareTo(WikidataCity o)
- Specified by:
compareToin interfaceComparable<WikidataCity>
-
getWikidataId
public String getWikidataId()
-
getName
public String getName()
-
getCountry
public String getCountry()
-
getInception
public LocalDate getInception()
-
isCapital
public boolean isCapital()
-
getPopulation
public Long getPopulation()
-
getElevation
public Integer getElevation()
-
getWebsite
public URL getWebsite()
-
getLocation
public Location getLocation()
-
getTimeZone
public ZoneId getTimeZone()
-
-