Package org.gbif.api.model.checklistbank
Class ParsedName
java.lang.Object
org.gbif.api.model.checklistbank.ParsedName
A container of a taxon name that is atomised into its relevant, separate parts.
Hybrid formulas that consist of multiple genera, binomials or species epithets are relatively poorly represented. A simple boolean flag indicates a hybrid formula, e.g. Polygala vulgaris × Polygala epinema but not named hybrids that are have an × or notho as part of a well-formed mono/bi/trinomial e.g. ×Polygala vulgaris. In the case of hybrid formulas, i.e. isHybrid=true, the first name in the formula is tried to be kept, at least the genus. A container of a taxon name that is only atomised into three name parts maximum plus rank and a notho property indicating the name part of named hybrids that is considered to be the hybrid. No authorship is kept. For subgenera we don't use parentheses to indicate the subgenus, but use explicit rank markers instead.
Hybrid formulas that consist of multiple genera, binomials or species epithets are relatively poorly represented. A simple boolean flag indicates a hybrid formula, e.g. Polygala vulgaris × Polygala epinema but not named hybrids that are have an × or notho as part of a well-formed mono/bi/trinomial e.g. ×Polygala vulgaris. In the case of hybrid formulas, i.e. isHybrid=true, the first name in the formula is tried to be kept, at least the genus. A container of a taxon name that is only atomised into three name parts maximum plus rank and a notho property indicating the name part of named hybrids that is considered to be the hybrid. No authorship is kept. For subgenera we don't use parentheses to indicate the subgenus, but use explicit rank markers instead.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionParsedName
(NameType type, String genusOrAbove, String infraGeneric, String specificEpithet, String infraSpecificEpithet, NamePart notho, Rank rank, String authorship, String year, String bracketAuthorship, String bracketYear, String cultivarEpithet, String strain, String sensu, String nomStatus, String remarks) -
Method Summary
Modifier and TypeMethodDescriptionbuildName
(boolean hybridMarker, boolean rankMarker, boolean authorship, boolean infrageneric, boolean genusForInfrageneric, boolean abbreviateGenus, boolean decomposition, boolean asciiOnly, boolean showIndet, boolean nomNote, boolean remarks, boolean showSensu, boolean showCultivar, boolean showStrain) build a name controlling all available flags for name parts to be included in the resulting name.The canonical name sensu strictu with nothing else but 3 name parts at max (genus, species, infraspecific).The code-compliant, canonical name with rank and hybrid marker, authorship and cultivar or strain name included.The code-compliant, canonical name with three name parts at max (genus, species, infraspecific), a rank marker for infraspecific names and cultivar or strain epithets.boolean
fullName()
The original author of this name, e.g.The authorship of the original name, i.e.The code relevant year of publication of the original name, i.e.The cultivar, cultivar group or grex part of a cultivated plant name.The genus part of a bi/trinomial or the monomial in case of names of higher ranksThe infrageneric part of a name, often given in parentheses between genus and species epithet, e.g.getKey()
Any nomenclatoral remarks given in this name, e.g.getNotho()
For hybrid names notho indicates which part of the name is considered a hybrid, i.e.getRank()
Any further remarks foundThe exact verbatim, full scientific name as given before parsing.getSensu()
Taxon concept references as part of the name, e.g.The strain or isolate name.getType()
A coarse classification of names helping to deal with different syntactical name string structures.getYear()
The year of publication as given in the authorship.boolean
int
hashCode()
boolean
boolean
boolean
boolean
boolean
boolean
isParsed()
A flag indicating if a name could not be parsed at all.boolean
The GBIF name parser cannot always parse the entire name.boolean
boolean
void
setAuthorship
(String authorship) void
setBracketAuthorship
(String bracketAuthorship) void
setBracketYear
(String bracketYear) void
setCultivarEpithet
(String cultivarEpithet) void
setGenusOrAbove
(String genusOrAbove) void
setHybridFormula
(boolean hybrid) void
setInfraGeneric
(String infraGeneric) void
setInfraSpecificEpithet
(String infraSpecies) void
void
setNomStatus
(String nomStatus) void
void
setParsed
(boolean parsed) void
setParsedPartially
(boolean parsedPartially) void
void
setRemarks
(String remarks) void
setScientificName
(String scientificName) void
void
setSpecificEpithet
(String species) void
void
void
toString()
-
Field Details
-
HYBRID_MARKER
-
-
Constructor Details
-
ParsedName
public ParsedName() -
ParsedName
public ParsedName(NameType type, String genusOrAbove, String infraGeneric, String specificEpithet, String infraSpecificEpithet, NamePart notho, Rank rank, String authorship, String year, String bracketAuthorship, String bracketYear, String cultivarEpithet, String strain, String sensu, String nomStatus, String remarks)
-
-
Method Details
-
getAuthorship
The original author of this name, e.g. basionym or recombination author -
setAuthorship
-
getBracketAuthorship
The authorship of the original name, i.e. basionym, given in brackets. -
setBracketAuthorship
-
getBracketYear
The code relevant year of publication of the original name, i.e. basionym, given in brackets. -
setBracketYear
-
getCultivarEpithet
The cultivar, cultivar group or grex part of a cultivated plant name. If given the name should be of type NameType.CULTIVAR -
setCultivarEpithet
-
getStrain
The strain or isolate name. Usually a capital collection code string followed by an accession number. See List of culture collection codes If given the name should be of type NameType.STRAIN -
setStrain
-
getGenusOrAbove
The genus part of a bi/trinomial or the monomial in case of names of higher ranks -
getInfraGeneric
The infrageneric part of a name, often given in parentheses between genus and species epithet, e.g. for a subgenus -
getInfraSpecificEpithet
-
getNomStatus
Any nomenclatoral remarks given in this name, e.g. nom. illeg. -
setNomStatus
-
getNotho
For hybrid names notho indicates which part of the name is considered a hybrid, i.e. genus, species or infraspecific epithet. -
setNotho
-
getRemarks
Any further remarks found -
setRemarks
-
getSensu
Taxon concept references as part of the name, e.g. "MSW2005" for Gorilla gorilla (Savage, 1847) sec. MSW2005 -
setSensu
-
getSpecificEpithet
-
getTerminalEpithet
- Returns:
- the terminal epithet, infraspecific epithet if existing, the species epithet or null
-
getType
A coarse classification of names helping to deal with different syntactical name string structures. -
setType
-
getYear
The year of publication as given in the authorship. -
setYear
-
hasAuthorship
-
setRank
-
getKey
-
setKey
-
getScientificName
The exact verbatim, full scientific name as given before parsing. -
setScientificName
-
isParsedPartially
The GBIF name parser cannot always parse the entire name. This is often the case when taxonomic, nomenclatural or identification notes are added to the end of the name. In such cases when the name was only partially parsed (NameUsageIssue.PARTIALLY_PARSABLE) this flag should be true. If the name was not parsed at all this will be false.- Returns:
- true if name was only partially parsed, false otherwise
-
setParsedPartially
-
isParsed
A flag indicating if a name could not be parsed at all. If false, only the scientific name, rank and potentially the name type is given. -
setParsed
-
authorshipComplete
- Returns:
- The full concatenated authorship or null if it is a hybrid
-
buildName
public String buildName(boolean hybridMarker, boolean rankMarker, boolean authorship, boolean infrageneric, boolean genusForInfrageneric, boolean abbreviateGenus, boolean decomposition, boolean asciiOnly, boolean showIndet, boolean nomNote, boolean remarks, boolean showSensu, boolean showCultivar, boolean showStrain) build a name controlling all available flags for name parts to be included in the resulting name.- Parameters:
hybridMarker
- include the hybrid marker with the name if existingrankMarker
- include the infraspecific or infrageneric rank marker with the name if existingauthorship
- include the names authorship (authorteam and year)infrageneric
- include the infrageneric name in brackets for species or infraspeciesgenusForInfrageneric
- include the genus name in front of an infrageneric name (not a species)abbreviateGenus
- if true abreviate the genus with its first characterdecomposition
- decompose unicode ligatures into their corresponding ascii ones, e.g. æ beomes aeasciiOnly
- transform unicode letters into their corresponding ascii ones, e.g. ø beomes o and ü ushowIndet
- if true include the rank marker for incomplete determinations, for example Puma spec.nomNote
- include nomenclatural notesremarks
- include informal remarks
-
canonicalName
The canonical name sensu strictu with nothing else but 3 name parts at max (genus, species, infraspecific). No rank or hybrid markers and no authorship, cultivar or strain information. Infrageneric names are represented without a leading genus. Unicode characters will be replaced by their matching ASCII characters. For example: Abies alba Abies alba alpina Abies Bracteata Heucherella tiarelloides- Returns:
- the 1, 2 or 3 parted name as a single string
-
canonicalNameWithMarker
The code-compliant, canonical name with three name parts at max (genus, species, infraspecific), a rank marker for infraspecific names and cultivar or strain epithets. The canonical name can be a 1, 2 or 3 parted name, but does not include any informal notes or authorships. Notho taxa will have the hybrid marker. Unicode characters will be replaced by their matching ASCII characters. For example: Abies alba Abies alba subsp. alpina Abies sect. Bracteata ×Heucherella tiarelloides- Returns:
- the 1,2 or 3 parted name as a single string
-
canonicalNameComplete
The code-compliant, canonical name with rank and hybrid marker, authorship and cultivar or strain name included. Informal or nomenclatoral notes, concept references, subgenus and non-terminal authorships are removed.- Returns:
- the 1,2 or 3 parted name as a single string
-
canonicalSpeciesName
- Returns:
- the species binomial if this parsed name is a species or below. Or null in case its superspecific
-
fullName
- Returns:
- the name with all details that exist.
-
getBracketYearInt
-
getRank
- Returns:
- rank as enumeration or null
-
getYearInt
-
isAutonym
-
isBinomial
-
isHybridFormula
-
isIndetermined
- Returns:
- true for names with an infraspecifc rank but missing lowest name part. E.g. Coccyzuz americanus ssp. or Asteraceae spec. but not Maxillaria sect. Acaules
-
isParsableType
-
isQualified
-
isRecombination
- Returns:
- true if a bracket authorship is given, indicating that the name has been subsequently recombined.
-
setGenusOrAbove
-
setHybridFormula
-
setInfraGeneric
-
setInfraSpecificEpithet
-
setSpecificEpithet
-
equals
-
hashCode
-
toString
-