A parser is a software component that takes input data (frequently text) and builds a data structure [1].
The GBIF parsers library provides:
mvn clean install
// Get a Country by the defined enumeration
Country mexicoFromEnum = Country.MEXICO;
// Get a Country from a String
ParseResult<Country> parsed = CountryParser.getInstance().parse("México");
if (parsed.getConfidence() == ParseResult.CONFIDENCE.DEFINITE) {
Country mexicoFromParser = parsed.getPayload();
String iso2LetterCode = mexicoFromParser.getIso2LetterCode();
}
TemporalParser dateParser = DateParsers.defaultTemporalParser();
ParseResult<TemporalAccessor> ta = dateParser.parse("2nd jan. 1999");
LocalDate localDate = LocalDate.from(ta.getPayload());
// or using the date parts
ta = dateParser.parse("1999", "jan.", "2");
localDate = LocalDate.from(ta.getPayload());
// or use ONLY the provided format to parse the date
// other formats will return a parse failure with possible dates
ta = dateParser.parse("1980-1-0", DateComponentOrdering.YMD);
// or use a list of possible formats
ta = dateParser.parse("12/08/2020", DateComponentOrdering.DMY_FORMATS);
For more information and details about the date parsing see the Date Parsing Documentation.
[1] "Parser." Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Retrieved June 28, 2016, from https://en.wikipedia.org/wiki/Parsing#Parser