@Entity @NameMustFollowCode public abstract class TaxonNameBase<T extends TaxonNameBase<?,?>,S extends INameCacheStrategy> extends IdentifiableEntity<S> implements ITaxonNameBase, INonViralName, IViralName, IBacterialName, IZoologicalName, IBotanicalName, ICultivarPlantName, IParsable, IRelated, IMatchable, IIntextReferenceTarget, Cloneable
nomenclature code
. The scientific taxon name does not depend
on the use made of it in a publication or a treatment
(taxon concept respectively potential taxon
)
as an "accepted" respectively "correct" (taxon) name
or as a synonym
.
This class corresponds partially to:
Modifier and Type | Field and Description |
---|---|
protected String |
fullTitleCache |
protected boolean |
protectedAuthorshipCache |
protected boolean |
protectedNameCache |
cacheStrategy, NOT_PROTECTED, PROTECTED, protectedTitleCache, titleCache
annotations, markers
Modifier | Constructor and Description |
---|---|
protected |
TaxonNameBase()
Class constructor: creates a new empty taxon name.
|
protected |
TaxonNameBase(HomotypicalGroup homotypicalGroup)
Class constructor: creates a new taxon name instance
only containing its
homotypical group . |
protected |
TaxonNameBase(Rank rank)
Class constructor: creates a new taxon name
only containing its
rank . |
protected |
TaxonNameBase(Rank rank,
HomotypicalGroup homotypicalGroup)
Class constructor: creates a new taxon name instance
only containing its
rank and
its homotypical group and
the default cache strategy . |
protected |
TaxonNameBase(Rank rank,
String genusOrUninomial,
String infraGenericEpithet,
String specificEpithet,
String infraSpecificEpithet,
TeamOrPersonBase combinationAuthorship,
INomenclaturalReference nomenclaturalReference,
String nomenclMicroRef,
HomotypicalGroup homotypicalGroup)
Class constructor: creates a new non viral taxon name instance
containing its
rank ,
its homotypical group ,
its scientific name components, its author(team) ,
its nomenclatural reference and
the default cache strategy . |
Modifier and Type | Method and Description |
---|---|
void |
addBasionym(TaxonNameBase basionym)
Assigns a taxon name as
basionym of this taxon name. |
NameRelationship |
addBasionym(TaxonNameBase basionym,
Reference citation,
String microcitation,
String ruleConsidered)
Assigns a taxon name as
basionym of this taxon name
and keeps the nomenclatural rule considered for it. |
void |
addDescription(TaxonNameDescription description)
Adds a new
taxon name description
to the set of taxon name descriptions assigned to this taxon name. |
HybridRelationship |
addHybridChild(INonViralName childName,
HybridRelationshipType type,
String ruleConsidered)
Creates a new
hybrid relationship
to this botanical name. |
HybridRelationship |
addHybridParent(INonViralName parentName,
HybridRelationshipType type,
String ruleConsidered)
Creates a new
hybrid relationship
to this botanical name. |
protected void |
addHybridRelationship(HybridRelationship rel)
Adds the given
hybrid relationship to the set
of hybrid relationships of both non-viral names
involved in this hybrid relationship. |
protected void |
addNameRelationship(NameRelationship rel)
Adds an existing
name relationship either to the set of
relations to this taxon name or to the set of
relations from this taxon name . |
NameTypeDesignation |
addNameTypeDesignation(TaxonNameBase typeSpecies,
Reference citation,
String citationMicroReference,
String originalNameString,
NameTypeDesignationStatus status,
boolean addToAllHomotypicNames)
Creates and adds a new
name type designation
to this taxon name's set of type designations. |
NameTypeDesignation |
addNameTypeDesignation(TaxonNameBase typeSpecies,
Reference citation,
String citationMicroReference,
String originalNameString,
NameTypeDesignationStatus status,
boolean isRejectedType,
boolean isConservedType,
boolean isNotDesignated,
boolean addToAllHomotypicNames)
Creates and adds a new
name type designation
to this taxon name's set of type designations. |
void |
addParsingProblem(ParserProblem problem)
Adds a parsing problem to the list of parsing problems
|
void |
addParsingProblems(int problems) |
void |
addRelationship(RelationshipBase relation)
Deprecated.
to be used by RelationshipBase only
|
NameRelationship |
addRelationshipFromName(TaxonNameBase fromName,
NameRelationshipType type,
Reference citation,
String microCitation,
String ruleConsidered)
Creates a new
name relationship from another taxon name to this taxon name
and adds it both to the set of relations to this taxon name and
to the set of relations from the other taxon name . |
NameRelationship |
addRelationshipFromName(TaxonNameBase fromName,
NameRelationshipType type,
String ruleConsidered)
Creates a new
name relationship from another taxon name to this taxon name
and adds it both to the set of relations to this taxon name and
to the set of relations from the other taxon name . |
NameRelationship |
addRelationshipToName(TaxonNameBase toName,
NameRelationshipType type,
Reference citation,
String microCitation,
String ruleConsidered)
Creates a new
name relationship from this taxon name to another taxon name
and adds it both to the set of relations from this taxon name and
to the set of relations to the other taxon name . |
void |
addRelationshipToName(TaxonNameBase toName,
NameRelationshipType type,
String ruleConsidered)
Creates a new
name relationship from this taxon name to another taxon name
and adds it both to the set of relations from this taxon name and
to the set of relations to the other taxon name . |
void |
addReplacedSynonym(TaxonNameBase replacedSynonym,
Reference citation,
String microcitation,
String ruleConsidered)
Assigns a taxon name as
replaced synonym of this taxon name
and keeps the nomenclatural rule considered for it. |
SpecimenTypeDesignation |
addSpecimenTypeDesignation(DerivedUnit typeSpecimen,
SpecimenTypeDesignationStatus status,
Reference citation,
String citationMicroReference,
String originalNameString,
boolean isNotDesignated,
boolean addToAllHomotypicNames)
Creates and adds a new
specimen type designation
to this taxon name's set of type designations. |
void |
addStatus(NomenclaturalStatus nomStatus)
Adds a new
nomenclatural status
to this taxon name's set of nomenclatural status. |
NomenclaturalStatus |
addStatus(NomenclaturalStatusType statusType,
Reference citation,
String microCitation) |
void |
addTaxonBase(TaxonBase taxonBase)
Adds a new
taxon base
to the set of taxon bases using this taxon name. |
boolean |
addTypeDesignation(TypeDesignationBase typeDesignation,
boolean addToAllNames)
Adds a
type designation to this taxon name's set of type designations |
static TaxonNameBase |
castAndDeproxy(ITaxonNameBase interfacedName)
Method to cast a interfaced name to a concrete name.
|
static Set<TaxonNameBase> |
castAndDeproxy(Set<ITaxonNameBase> naminterfacedNames)
Method to cast a set of interfaced names to concrete namex.
|
Object |
clone()
Clones this taxon name.
|
int |
compareToName(TaxonNameBase<?,?> otherName)
This method compares 2 taxon names on it's name titles and caches.
|
String |
computeBasionymAuthorNomenclaturalTitle()
Shortcut.
|
String |
computeCombinationAuthorNomenclaturalTitle()
Shortcut.
|
String |
computeExBasionymAuthorNomenclaturalTitle()
Shortcut.
|
String |
computeExCombinationAuthorNomenclaturalTitle()
Shortcut.
|
String |
generateAuthorship()
Generates and returns a concatenated and formated authorteams string
including basionym and combination authors of this non viral taxon name
according to the strategy defined in
INonViralNameCacheStrategy . |
String |
generateFullTitle() |
protected String |
generateNameCache()
Generates the composed name string of this non viral taxon name without author
strings or year according to the strategy defined in
INonViralNameCacheStrategy . |
String |
getAcronym()
Returns the accepted acronym (an assigned abbreviation) string for this
viral taxon name.
|
protected Map<String,Field> |
getAllFields() |
String |
getAppendedPhrase()
Returns the appended phrase string assigned to this taxon name.
|
String |
getAuthorshipCache()
Returns the concatenated and formated authorteams string including
basionym and combination authors of this non viral taxon name.
|
TaxonNameBase |
getBasionym()
Returns the taxon name which is the
basionym of this taxon name. |
TeamOrPersonBase<?> |
getBasionymAuthorship()
Returns the
author (team) that published the original combination
on which this non viral taxon name is nomenclaturally based. |
Set<TaxonNameBase> |
getBasionyms()
Returns the set of taxon names which are the
basionyms of this taxon name. |
String |
getBreed()
Returns the breed name string for this animal (zoological taxon name).
|
String |
getCitationString()
Returns the complete string containing the
nomenclatural reference citation
and the details assigned to this taxon name. |
TeamOrPersonBase<?> |
getCombinationAuthorship()
Returns the
author (team) that published this non viral
taxon name. |
String |
getCultivarName()
Returns the characteristical cultivar name part string assigned to this
cultivar taxon name.
|
Set<TaxonNameDescription> |
getDescriptions()
Returns the set of
taxon name descriptions assigned
to this taxon name. |
TeamOrPersonBase<?> |
getExBasionymAuthorship()
Returns the
author (team) that contributed to
the publication of the original combination this non viral taxon name is
based on. |
TeamOrPersonBase<?> |
getExCombinationAuthorship()
Returns the
author (team) that contributed to
the publication of this non viral taxon name as generally stated by
the combination author (team) itself.An ex-author(-team) is an author(-team) to whom a taxon name was ascribed although it is not the author(-team) of a valid publication (for instance without the validating description or diagnosis in case of a name for a new taxon). |
String |
getFullTitleCache() |
String |
getGenusOrUninomial()
Returns either the scientific name string (without authorship) for this
non viral taxon name if its rank is genus or higher (monomial) or the string for
the genus part of it if its
rank is lower than genus (bi- or trinomial). |
HomotypicalGroup |
getHomotypicalGroup()
Returns the
homotypical group to which
this taxon name belongs. |
Set<HybridRelationship> |
getHybridChildRelations()
Returns the set of all
hybrid relationships
in which this taxon name is involved as a child . |
Set<HybridRelationship> |
getHybridParentRelations()
Returns the set of all
hybrid relationships
in which this taxon name is involved as a parent . |
String |
getInfraGenericEpithet()
Returns the genus subdivision epithet string (infrageneric part) for
this non viral taxon name if its
rank is infrageneric (lower than genus and
higher than species aggregate: binomial). |
String |
getInfraSpecificEpithet()
Returns the species subdivision epithet string (infraspecific part) for
this non viral taxon name if its
rank is infraspecific
(lower than species: trinomial). |
String |
getLastNamePart()
Defines the last part of the name.
|
String |
getNameApprobation()
Returns the string representing the reason for the approbation of this
bacterial taxon name.
|
String |
getNameCache()
Returns or generates the nameCache (scientific name
without author strings and year) string for this non viral taxon name.
|
Set<NameRelationship> |
getNameRelations()
Returns the set of all
name relationships
in which this taxon name is involved. |
Set<NameTypeDesignation> |
getNameTypeDesignations()
Returns the set of
name type designations assigned
to this taxon name the rank of which must be above "species". |
NomenclaturalCode |
getNomenclaturalCode()
Returns null as the
nomenclatural code that governs
the construction of this taxon name since there is no specific
nomenclatural code defined. |
String |
getNomenclaturalMicroReference()
Returns the details string of the
nomenclatural reference assigned
to this taxon name. |
INomenclaturalReference |
getNomenclaturalReference()
Returns the
nomenclatural reference of this taxon name. |
List<HybridRelationship> |
getOrderedChildRelationships()
Returns the hybrid child relationships ordered by relationship type, or if equal
by title cache of the related names.
|
Integer |
getOriginalPublicationYear()
Returns the publication year (as an integer) of the original validly
published species epithet for this zoological taxon name.
|
int |
getParsingProblem()
Returns an integer value indicating whether the used parser
method was able to parse a string successfully into this object (
0 )
or not (!=0 ). |
List<ParserProblem> |
getParsingProblems()
Returns the parsing problems
|
int |
getProblemEnds()
Returns the integer value of the position where a parsing problem ends.
|
int |
getProblemStarts()
Returns the integer value of the position where a parsing problem starts.
|
Integer |
getPublicationYear()
Returns the publication year (as an integer) for this zoological taxon
name.
|
Rank |
getRank()
Returns the taxonomic
rank of this taxon name. |
String |
getReferenceYear()
Returns the string containing the publication date (generally only year)
of the
nomenclatural reference for this taxon name, null if there is
no nomenclatural reference. |
Set<NameRelationship> |
getRelationsFromThisName()
Returns the set of all
name relationships
in which this taxon name is involved as a source ("from"-side). |
Set<NameRelationship> |
getRelationsToThisName()
Returns the set of all
name relationships
in which this taxon name is involved as a target ("to"-side). |
Set<TaxonNameBase> |
getReplacedSynonyms()
Returns the set of taxon names which are the
replaced synonyms of this taxon name. |
String |
getSpecificEpithet()
Returns the species epithet string for this non viral taxon name if its
rank is
species aggregate or lower (bi- or trinomial). |
Set<SpecimenTypeDesignation> |
getSpecimenTypeDesignations()
Returns the set of
specimen type designations
that typify this taxon name. |
Set<SpecimenTypeDesignation> |
getSpecimenTypeDesignationsOfHomotypicalGroup()
Returns the set of
specimen type designations assigned
to this taxon name. |
Set<NomenclaturalStatus> |
getStatus()
Returns the set of
nomenclatural status assigned
to this taxon name according to its corresponding nomenclature code. |
String |
getSubGenusAuthorship()
Returns the string containing the authorship with the year and details
of the reference in which the subgenus included in the scientific name
of this bacterial taxon name was published.
|
Set<Synonym> |
getSynonyms()
Returns the set of
(junior) synonyms (according to any
reference) that are based on this taxon name. |
List<TaggedText> |
getTaggedName() |
Set<Taxon> |
getTaxa()
Returns the set of
taxa ("accepted/correct" names according to any
reference) that are based on this taxon name. |
Set<TaxonBase> |
getTaxonBases()
Returns the set of
taxon bases that refer to this taxon name. |
String |
getTitleCache() |
Set<TypeDesignationBase> |
getTypeDesignations()
Returns the set of
type designations assigned
to this taxon name. |
boolean |
hasAuthors()
Tests if the given name has any authors.
|
boolean |
hasProblem()
Returns true if any parsing problem (warning or error) exists.
|
boolean |
hasProblem(ParserProblem problem)
Returns true, if the specified problem exists.
|
void |
initListener()
This method was initially added to
CdmBase to fix #5161. |
boolean |
isAutonym()
Needs to be implemented by those classes that handle autonyms (e.g.
|
boolean |
isBasionymFor(TaxonNameBase newCombinationName)
Checks whether a basionym relationship exists between fromName and toName.
|
boolean |
isBinomHybrid()
Returns the boolean value of the flag indicating whether this botanical
taxon name is the name of an interspecific hybrid (true) or not (false).
|
boolean |
isGenus()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is the genus rank (true) or not (false). |
boolean |
isGroupsBasionym()
Checks whether name is a basionym for ALL names
in its homotypical group.
|
boolean |
isHomotypic(TaxonNameBase homoTypicName)
Returns the boolean value indicating whether a given taxon name belongs
to the same
homotypical group as this taxon name (true)
or not (false). |
boolean |
isHybrid()
Computes if this name is a hybrid (hybrid name or hybrid formula).
|
boolean |
isHybridFormula()
Returns the boolean value of the flag indicating whether the name of this
botanical taxon name is a hybrid formula (true) or not (false).
|
boolean |
isHybridName()
Computes if this name is a hybrid name.
|
boolean |
isInfraGeneric()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is higher than the species rank and lower than the
genus rank (true) or not (false). |
boolean |
isInfraSpecific()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is lower than the species rank (true) or not (false). |
boolean |
isMonomHybrid()
Returns the boolean value of the flag indicating whether this botanical
taxon name is the name of an intergeneric hybrid (true) or not (false).
|
boolean |
isOriginalCombination()
Indicates whether this taxon name is a
basionym
or a replaced synonym
of any other taxon name. |
boolean |
isProtectedAuthorshipCache()
Returns the boolean value of the flag intended to protect (true)
or not (false) the
authorshipCache (complete authorship string)
of this non viral taxon name. |
boolean |
isProtectedFullTitleCache() |
boolean |
isProtectedNameCache()
Returns the boolean value of the flag intended to protect (true)
or not (false) the
nameCache (scientific name without author strings and year)
string of this non viral taxon name. |
boolean |
isReplacedSynonym()
Indicates this taxon name is a
replaced synonym
of any other taxon name. |
boolean |
isSpecies()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is the species rank (true) or not (false). |
boolean |
isSpeciesAggregate()
Returns true if this name's rank indicates a rank that aggregates species like species
aggregates or species groups, false otherwise.
|
boolean |
isSupraGeneric()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is higher than the genus rank (true) or not (false). |
boolean |
isSupraSpecific()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is higher than the species rank (true) or not (false). |
boolean |
isTrinomHybrid()
Returns the boolean value of the flag indicating whether this botanical
taxon name is the name of an infraspecific hybrid (true) or not (false).
|
void |
makeGroupsBasionym()
Creates a basionym relationship to all other names in this names homotypical
group.
|
void |
mergeHomotypicGroups(TaxonNameBase name) |
void |
removeAsGroupsBasionym()
Removes basionym relationship between this name and
each name in its homotypic group.
|
void |
removeBasionyms()
|
void |
removeDescription(TaxonNameDescription description)
Removes one element from the set of
taxon name descriptions assigned
to this taxon name. |
void |
removeHybridChild(INonViralName child) |
void |
removeHybridParent(INonViralName parent) |
void |
removeHybridRelationship(HybridRelationship hybridRelation)
Removes one
hybrid relationship from the set of
hybrid relationships in which this botanical taxon name
is involved. |
void |
removeNameRelationship(NameRelationship nameRelation)
Removes one
name relationship from one of both sets of
name relationships in which this taxon name is involved. |
void |
removeParsingProblem(ParserProblem problem)
Removes a parsing problem from the list of parsing problems.
|
void |
removeRelationToTaxonName(TaxonNameBase toTaxonName) |
void |
removeStatus(NomenclaturalStatus nomStatus)
Removes one element from the set of nomenclatural status of this taxon name.
|
void |
removeTaxonBase(TaxonBase taxonBase)
Removes one element from the set of
taxon bases that refer to this taxon name. |
void |
removeTypeDesignation(TypeDesignationBase typeDesignation)
Removes one element from the set of
type designations assigned to
this taxon name. |
void |
setAcronym(String acronym) |
void |
setAppendedPhrase(String appendedPhrase) |
void |
setAsGroupsBasionym()
Creates a basionym relationship between this name and
each name in its homotypic group.
|
void |
setAuthorshipCache(String authorshipCache)
Assigns an authorshipCache string to this non viral taxon name.
|
void |
setAuthorshipCache(String authorshipCache,
boolean protectedAuthorshipCache)
Assigns an authorshipCache string to this non viral taxon name.
|
void |
setBasionymAuthorship(TeamOrPersonBase<?> basionymAuthorship) |
void |
setBinomHybrid(boolean binomHybrid) |
void |
setBreed(String breed) |
void |
setCombinationAuthorship(TeamOrPersonBase<?> combinationAuthorship) |
void |
setCultivarName(String cultivarName) |
void |
setExBasionymAuthorship(TeamOrPersonBase<?> exBasionymAuthorship) |
void |
setExCombinationAuthorship(TeamOrPersonBase<?> exCombinationAuthorship) |
void |
setFullTitleCache(String fullTitleCache) |
void |
setFullTitleCache(String fullTitleCache,
boolean protectCache) |
void |
setGenusOrUninomial(String genusOrUninomial) |
void |
setHomotypicalGroup(HomotypicalGroup homotypicalGroup) |
void |
setHybridFormula(boolean hybridFormula) |
void |
setInfraGenericEpithet(String infraGenericEpithet) |
void |
setInfraSpecificEpithet(String infraSpecificEpithet) |
void |
setMonomHybrid(boolean monomHybrid) |
void |
setNameApprobation(String nameApprobation) |
void |
setNameCache(String nameCache)
Assigns a nameCache string to this non viral taxon name and protects it from being overwritten.
|
void |
setNameCache(String nameCache,
boolean protectedNameCache)
Assigns a nameCache string to this non viral taxon name and protects it from being overwritten.
|
void |
setNomenclaturalMicroReference(String nomenclaturalMicroReference) |
void |
setNomenclaturalReference(INomenclaturalReference nomenclaturalReference)
Assigns a
nomenclatural reference to this taxon name. |
void |
setOriginalPublicationYear(Integer originalPublicationYear) |
void |
setParsingProblem(int parsingProblem) |
void |
setProblemEnds(int end) |
void |
setProblemStarts(int start) |
void |
setProtectedAuthorshipCache(boolean protectedAuthorshipCache) |
void |
setProtectedFullTitleCache(boolean protectedFullTitleCache) |
void |
setProtectedNameCache(boolean protectedNameCache) |
void |
setPublicationYear(Integer publicationYear) |
void |
setRank(Rank rank) |
void |
setSpecificEpithet(String specificEpithet) |
void |
setSubGenusAuthorship(String subGenusAuthorship) |
void |
setTitleCache(String titleCache,
boolean protectCache)
Sets the title cache.
NOTE: In most cases the protectCache argument should be set to true . |
void |
setTrinomHybrid(boolean trinomHybrid) |
addCredit, addCredit, addExtension, addExtension, addIdentifier, addIdentifier, addIdentifier, addImportSource, addPrimaryTaxonomicSource, addPrimaryTaxonomicSource, addRights, addSource, addSource, addSources, generateTitle, getCacheStrategy, getCredits, getCredits, getData, getExtensions, getExtensions, getExtensions, getIdentifiers, getIdentifiers, getIdentifiers, getLsid, getRights, getSources, getTruncatedCache, hasEmptyTitleCache, isProtectedTitleCache, removeCredit, removeCredit, removeExtension, removeIdentifier, removeIdentifier, removeRights, removeSource, removeSources, replaceCredit, replaceIdentifier, setCacheStrategy, setLsid, setProtectedTitleCache, setTitleCache, toString
addAnnotation, addMarker, getAnnotations, getMarkers, hasMarker, hasMarker, removeAnnotation, removeMarker
cloneLanguageString, equals, getUpdated, getUpdatedBy, setUpdated, setUpdatedBy
addPropertyChangeListener, addPropertyChangeListener, addToSetWithChangeEvent, deproxy, deproxy, fireOnCreateEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getCreated, getCreatedBy, getId, getUserFriendlyDescription, getUserFriendlyFieldName, getUserFriendlyTypeName, getUuid, hashCode, hasListeners, instanceToString, invokeSetMethod, invokeSetMethodWithNull, isBlank, isInstanceOf, removeFromSetWithChangeEvent, removePropertyChangeListener, removePropertyChangeListener, replaceInList, setCreated, setCreatedBy, setId, setNewEntityListener, setUuid
finalize, getClass, notify, notifyAll, wait, wait, wait
addCredit, addCredit, addExtension, addExtension, addIdentifier, addIdentifier, addIdentifier, addRights, generateTitle, getCredits, getCredits, getData, getExtensions, getIdentifiers, getLsid, getRights, isProtectedTitleCache, removeCredit, removeCredit, removeExtension, removeIdentifier, removeIdentifier, removeRights, removeSources, replaceCredit, replaceIdentifier, setLsid, setProtectedTitleCache, setTitleCache, toString
addImportSource, addPrimaryTaxonomicSource, addPrimaryTaxonomicSource, addSource, addSource, addSources, getSources, removeSource
addAnnotation, addMarker, getAnnotations, getMarkers, hasMarker, hasMarker, removeAnnotation, removeMarker
getUpdated, getUpdatedBy, setUpdated, setUpdatedBy
@NotEmpty(groups=Level2.class) protected String fullTitleCache
protected boolean protectedNameCache
protected boolean protectedAuthorshipCache
protected TaxonNameBase()
protected TaxonNameBase(Rank rank)
rank
.rank
- the rank to be assigned to this taxon nameTaxonNameBase()
,
TaxonNameBase(HomotypicalGroup)
,
TaxonNameBase(Rank, HomotypicalGroup)
protected TaxonNameBase(HomotypicalGroup homotypicalGroup)
homotypical group
.
The new taxon name will be also added to the set of taxon names
belonging to this homotypical group.homotypicalGroup
- the homotypical group to which this taxon name belongsTaxonNameBase()
,
TaxonNameBase(Rank)
,
TaxonNameBase(Rank, HomotypicalGroup)
protected TaxonNameBase(Rank rank, HomotypicalGroup homotypicalGroup)
rank
and
its homotypical group
and
the default cache strategy
.
The new taxon name will be also added to the set of taxon names
belonging to this homotypical group.rank
- the rank to be assigned to this taxon namehomotypicalGroup
- the homotypical group to which this taxon name belongsTaxonNameBase()
,
TaxonNameBase(Rank)
,
TaxonNameBase(HomotypicalGroup)
protected TaxonNameBase(Rank rank, String genusOrUninomial, String infraGenericEpithet, String specificEpithet, String infraSpecificEpithet, TeamOrPersonBase combinationAuthorship, INomenclaturalReference nomenclaturalReference, String nomenclMicroRef, HomotypicalGroup homotypicalGroup)
rank
,
its homotypical group
,
its scientific name components, its author(team)
,
its nomenclatural reference
and
the default cache strategy
.
The new non viral taxon name instance will be also added to the set of
non viral taxon names belonging to this homotypical group.rank
- the rank to be assigned to this non viral taxon namegenusOrUninomial
- the string for this non viral taxon name
if its rank is genus or higher or for the genus part
if its rank is lower than genusinfraGenericEpithet
- the string for the first epithet of
this non viral taxon name if its rank is lower than genus
and higher than species aggregatespecificEpithet
- the string for the first epithet of
this non viral taxon name if its rank is species aggregate or lowerinfraSpecificEpithet
- the string for the second epithet of
this non viral taxon name if its rank is lower than speciescombinationAuthorship
- the author or the team who published this non viral taxon namenomenclaturalReference
- the nomenclatural reference where this non viral taxon name was publishednomenclMicroRef
- the string with the details for precise location within the nomenclatural referencehomotypicalGroup
- the homotypical group to which this non viral taxon name belongs#NonViralName()
,
#NonViralName(Rank, HomotypicalGroup)
,
#NewInstance(Rank, HomotypicalGroup)
,
INonViralNameCacheStrategy
,
INameCacheStrategy
,
IIdentifiableEntityCacheStrategy
public void initListener()
CdmBase
CdmBase
to fix #5161.
It can be overridden by subclasses such as IdentifiableEntity
to explicitly initialize listeners. This is needed e.g. after de-serialization
as listeners are not serialized due to the @Transient annotation.
However, it can be generally used for other use-cases as wellinitListener
in class IdentifiableEntity<S extends INameCacheStrategy>
public boolean isProtectedNameCache()
nameCache
(scientific name without author strings and year)
string of this non viral taxon name.isProtectedNameCache
in interface INonViralName
getNameCache()
public void setProtectedNameCache(boolean protectedNameCache)
setProtectedNameCache
in interface INonViralName
isProtectedNameCache()
public String getGenusOrUninomial()
rank
is lower than genus (bi- or trinomial).
Genus or uninomial strings begin with an upper case letter.getGenusOrUninomial
in interface INonViralName
getNameCache()
public void setGenusOrUninomial(String genusOrUninomial)
setGenusOrUninomial
in interface INonViralName
getGenusOrUninomial()
public String getInfraGenericEpithet()
rank
is infrageneric (lower than genus and
higher than species aggregate: binomial). Genus subdivision epithet
strings begin with an upper case letter.getInfraGenericEpithet
in interface INonViralName
getNameCache()
public void setInfraGenericEpithet(String infraGenericEpithet)
setInfraGenericEpithet
in interface INonViralName
getInfraGenericEpithet()
public String getSpecificEpithet()
rank
is
species aggregate or lower (bi- or trinomial). Species epithet strings
begin with a lower case letter.getSpecificEpithet
in interface INonViralName
getNameCache()
public void setSpecificEpithet(String specificEpithet)
setSpecificEpithet
in interface INonViralName
getSpecificEpithet()
public String getInfraSpecificEpithet()
rank
is infraspecific
(lower than species: trinomial). Species subdivision epithet strings
begin with a lower case letter.getInfraSpecificEpithet
in interface INonViralName
getNameCache()
public void setInfraSpecificEpithet(String infraSpecificEpithet)
setInfraSpecificEpithet
in interface INonViralName
getInfraSpecificEpithet()
public TeamOrPersonBase<?> getCombinationAuthorship()
author (team)
that published this non viral
taxon name.getCombinationAuthorship
in interface INonViralName
INomenclaturalAuthor
,
TeamOrPersonBase.getNomenclaturalTitle()
public void setCombinationAuthorship(TeamOrPersonBase<?> combinationAuthorship)
setCombinationAuthorship
in interface INonViralName
getCombinationAuthorship()
public TeamOrPersonBase<?> getExCombinationAuthorship()
author (team)
that contributed to
the publication of this non viral taxon name as generally stated by
the combination author (team)
itself.The presence of an author (team) of this non viral taxon name is a condition for the existence of an ex author (team) for this same name.
getExCombinationAuthorship
in interface INonViralName
getCombinationAuthorship()
,
INomenclaturalAuthor
,
TeamOrPersonBase.getNomenclaturalTitle()
public void setExCombinationAuthorship(TeamOrPersonBase<?> exCombinationAuthorship)
setExCombinationAuthorship
in interface INonViralName
getExCombinationAuthorship()
public TeamOrPersonBase<?> getBasionymAuthorship()
author (team)
that published the original combination
on which this non viral taxon name is nomenclaturally based. Such an
author (team) can only exist if this non viral taxon name is a new
combination due to a taxonomical revision.getBasionymAuthorship
in interface INonViralName
getCombinationAuthorship()
,
INomenclaturalAuthor
,
TeamOrPersonBase.getNomenclaturalTitle()
public void setBasionymAuthorship(TeamOrPersonBase<?> basionymAuthorship)
setBasionymAuthorship
in interface INonViralName
getBasionymAuthorship()
public TeamOrPersonBase<?> getExBasionymAuthorship()
author (team)
that contributed to
the publication of the original combination this non viral taxon name is
based on. This should have been generally stated by
the basionym author (team)
itself.
The presence of a basionym author (team) of this non viral taxon name is a
condition for the existence of an ex basionym author (team)
for this same name.getExBasionymAuthorship
in interface INonViralName
getBasionymAuthorship()
,
getExCombinationAuthorship()
,
getCombinationAuthorship()
,
INomenclaturalAuthor
,
TeamOrPersonBase.getNomenclaturalTitle()
public void setExBasionymAuthorship(TeamOrPersonBase<?> exBasionymAuthorship)
setExBasionymAuthorship
in interface INonViralName
getExBasionymAuthorship()
public boolean isProtectedAuthorshipCache()
authorshipCache
(complete authorship string)
of this non viral taxon name.isProtectedAuthorshipCache
in interface INonViralName
getAuthorshipCache()
public void setProtectedAuthorshipCache(boolean protectedAuthorshipCache)
setProtectedAuthorshipCache
in interface INonViralName
isProtectedAuthorshipCache()
,
getAuthorshipCache()
public Set<HybridRelationship> getHybridParentRelations()
hybrid relationships
in which this taxon name is involved as a parent
.getHybridParentRelations
in interface INonViralName
#getHybridRelationships()
,
#getChildRelationships()
,
HybridRelationshipType
public Set<HybridRelationship> getHybridChildRelations()
hybrid relationships
in which this taxon name is involved as a child
.getHybridChildRelations
in interface INonViralName
#getHybridRelationships()
,
#getParentRelationships()
,
HybridRelationshipType
public boolean isProtectedFullTitleCache()
isProtectedFullTitleCache
in interface ITaxonNameBase
public void setProtectedFullTitleCache(boolean protectedFullTitleCache)
setProtectedFullTitleCache
in interface ITaxonNameBase
public boolean isHybridFormula()
autorship
nor other name components. If this flag is set no other hybrid flags may
be set.isHybridFormula
in interface INonViralName
isMonomHybrid()
,
isBinomHybrid()
,
isTrinomHybrid()
public void setHybridFormula(boolean hybridFormula)
setHybridFormula
in interface INonViralName
isHybridFormula()
public boolean isMonomHybrid()
isMonomHybrid
in interface INonViralName
isHybridFormula()
,
isBinomHybrid()
,
isTrinomHybrid()
public void setMonomHybrid(boolean monomHybrid)
setMonomHybrid
in interface INonViralName
isMonomHybrid()
,
isBinomHybrid()
,
isTrinomHybrid()
public boolean isBinomHybrid()
isBinomHybrid
in interface INonViralName
isHybridFormula()
,
isMonomHybrid()
,
isTrinomHybrid()
public void setBinomHybrid(boolean binomHybrid)
setBinomHybrid
in interface INonViralName
isBinomHybrid()
,
isMonomHybrid()
,
isTrinomHybrid()
public boolean isTrinomHybrid()
isTrinomHybrid
in interface INonViralName
isHybridFormula()
,
isMonomHybrid()
,
isBinomHybrid()
public void setTrinomHybrid(boolean trinomHybrid)
setTrinomHybrid
in interface INonViralName
isTrinomHybrid()
,
isBinomHybrid()
,
isMonomHybrid()
public String getAcronym()
getAcronym
in interface IViralName
public void setAcronym(String acronym)
setAcronym
in interface IViralName
getAcronym()
public String getSubGenusAuthorship()
getSubGenusAuthorship
in interface IBacterialName
public void setSubGenusAuthorship(String subGenusAuthorship)
setSubGenusAuthorship
in interface IBacterialName
getSubGenusAuthorship()
public String getNameApprobation()
getNameApprobation
in interface IBacterialName
public void setNameApprobation(String nameApprobation)
setNameApprobation
in interface IBacterialName
getNameApprobation()
public String getBreed()
getBreed
in interface IZoologicalName
public void setBreed(String breed)
setBreed
in interface IZoologicalName
getBreed()
public Integer getPublicationYear()
nomenclatural reference
.getPublicationYear
in interface IZoologicalName
getOriginalPublicationYear()
public void setPublicationYear(Integer publicationYear)
setPublicationYear
in interface IZoologicalName
getPublicationYear()
public Integer getOriginalPublicationYear()
original combinations
.
If the originalPublicationYear attribute is null the year could be taken
from the publication year of the corresponding original name (basionym)
or from the nomenclatural reference
of the basionym
if it exists.getOriginalPublicationYear
in interface IZoologicalName
getPublicationYear()
public void setOriginalPublicationYear(Integer originalPublicationYear)
setOriginalPublicationYear
in interface IZoologicalName
getOriginalPublicationYear()
public String getCultivarName()
default cache strategy
).getCultivarName
in interface ICultivarPlantName
public void setCultivarName(String cultivarName)
setCultivarName
in interface ICultivarPlantName
getCultivarName()
protected void addHybridRelationship(HybridRelationship rel)
hybrid relationship
to the set
of hybrid relationships
of both non-viral names
involved in this hybrid relationship. One of both non-viral names
must be this non-viral name otherwise no addition will be carried
out. The child
non viral taxon name
must be a hybrid, which means that one of its four hybrid flags must be set.relationship
- the hybrid relationship to be addedIllegalArgumentException
isHybridFormula()
,
isMonomHybrid()
,
isBinomHybrid()
,
isTrinomHybrid()
,
#getHybridRelationships()
,
#getParentRelationships()
,
#getChildRelationships()
,
addRelationship(RelationshipBase)
public void removeHybridRelationship(HybridRelationship hybridRelation)
hybrid relationship
from the set of
hybrid relationships
in which this botanical taxon name
is involved. The hybrid relationship will also be removed from the set
belonging to the second botanical taxon name involved.removeHybridRelationship
in interface INonViralName
relationship
- the hybrid relationship which should be deleted from the corresponding sets#getHybridRelationships()
public String generateFullTitle()
generateFullTitle
in interface ITaxonNameBase
public void setFullTitleCache(String fullTitleCache)
setFullTitleCache
in interface ITaxonNameBase
public void setFullTitleCache(String fullTitleCache, boolean protectCache)
setFullTitleCache
in interface ITaxonNameBase
public boolean isAutonym()
isAutonym
in interface INonViralName
public List<TaggedText> getTaggedName()
getTaggedName
in interface ITaxonNameBase
public String getFullTitleCache()
getFullTitleCache
in interface ITaxonNameBase
public String getTitleCache()
getTitleCache
in interface IIdentifiableEntity
getTitleCache
in class IdentifiableEntity<S extends INameCacheStrategy>
public void setTitleCache(String titleCache, boolean protectCache)
IIdentifiableEntity
protectCache
argument should be set to true
.
See comments at IIdentifiableEntity.setTitleCache(String)
setTitleCache
in interface IIdentifiableEntity
setTitleCache
in class IdentifiableEntity<S extends INameCacheStrategy>
titleCache
- the new title cacheprotectCache
- the protect flag, should in most cases be set to true
public String getAuthorshipCache()
getAuthorshipCache
in interface INonViralName
generateAuthorship()
public void setAuthorshipCache(String authorshipCache)
true
.setAuthorshipCache
in interface INonViralName
authorshipCache
- the string which identifies the complete authorship of this non viral taxon namegetAuthorshipCache()
public void setAuthorshipCache(String authorshipCache, boolean protectedAuthorshipCache)
setAuthorshipCache
in interface INonViralName
authorshipCache
- the string which identifies the complete authorship of this non viral taxon nameprotectedAuthorshipCache
- if true the isProtectedAuthorshipCache flag is set to true
, otherwise
the flag is set to false
.getAuthorshipCache()
public String generateAuthorship()
INonViralNameCacheStrategy
.generateAuthorship
in interface INonViralName
eu.etaxonomy.cdm.strategy.cache.name.INonViralNameCacheStrategy#getAuthorshipCache(TaxonNameBase)
public boolean hasAuthors()
hasAuthors
in interface INonViralName
public String computeCombinationAuthorNomenclaturalTitle()
computeCombinationAuthorNomenclaturalTitle
in interface INonViralName
public String computeBasionymAuthorNomenclaturalTitle()
computeBasionymAuthorNomenclaturalTitle
in interface INonViralName
public String computeExCombinationAuthorNomenclaturalTitle()
computeExCombinationAuthorNomenclaturalTitle
in interface INonViralName
public String computeExBasionymAuthorNomenclaturalTitle()
computeExBasionymAuthorNomenclaturalTitle
in interface INonViralName
public Set<NameRelationship> getNameRelations()
name relationships
in which this taxon name is involved. A taxon name can be both source
in some name relationships or target in some others.public void addRelationshipToName(TaxonNameBase toName, NameRelationshipType type, String ruleConsidered)
name relationship
from this taxon name to another taxon name
and adds it both to the set of relations from this taxon name
and
to the set of relations to the other taxon name
.addRelationshipToName
in interface ITaxonNameBase
toName
- the taxon name of the target for this new name relationshiptype
- the type of this new name relationshipruleConsidered
- the string which specifies the rule on which this name relationship is basedgetRelationsToThisName()
,
getNameRelations()
,
addRelationshipFromName(TaxonNameBase, NameRelationshipType, String)
,
addNameRelationship(NameRelationship)
public NameRelationship addRelationshipToName(TaxonNameBase toName, NameRelationshipType type, Reference citation, String microCitation, String ruleConsidered)
name relationship
from this taxon name to another taxon name
and adds it both to the set of relations from this taxon name
and
to the set of relations to the other taxon name
.addRelationshipToName
in interface ITaxonNameBase
toName
- the taxon name of the target for this new name relationshiptype
- the type of this new name relationshipruleConsidered
- the string which specifies the rule on which this name relationship is basedgetRelationsToThisName()
,
getNameRelations()
,
addRelationshipFromName(TaxonNameBase, NameRelationshipType, String)
,
addNameRelationship(NameRelationship)
public NameRelationship addRelationshipFromName(TaxonNameBase fromName, NameRelationshipType type, String ruleConsidered)
name relationship
from another taxon name to this taxon name
and adds it both to the set of relations to this taxon name
and
to the set of relations from the other taxon name
.addRelationshipFromName
in interface ITaxonNameBase
fromName
- the taxon name of the source for this new name relationshiptype
- the type of this new name relationshipruleConsidered
- the string which specifies the rule on which this name relationship is basedcitation
- the reference in which this relation was describedmicroCitation
- the reference detail for this relation (e.g. page)getRelationsFromThisName()
,
getNameRelations()
,
addRelationshipToName(TaxonNameBase, NameRelationshipType, String)
,
addNameRelationship(NameRelationship)
public NameRelationship addRelationshipFromName(TaxonNameBase fromName, NameRelationshipType type, Reference citation, String microCitation, String ruleConsidered)
name relationship
from another taxon name to this taxon name
and adds it both to the set of relations to this taxon name
and
to the set of relations from the other taxon name
.addRelationshipFromName
in interface ITaxonNameBase
fromName
- the taxon name of the source for this new name relationshiptype
- the type of this new name relationshipruleConsidered
- the string which specifies the rule on which this name relationship is basedcitation
- the reference in which this relation was describedmicroCitation
- the reference detail for this relation (e.g. page)getRelationsFromThisName()
,
getNameRelations()
,
addRelationshipToName(TaxonNameBase, NameRelationshipType, String)
,
addNameRelationship(NameRelationship)
protected void addNameRelationship(NameRelationship rel)
name relationship
either to the set of
relations to this taxon name
or to the set of
relations from this taxon name
. If neither the
source nor the target of the name relationship match with this taxon name
no addition will be carried out.rel
- the name relationship to be added to one of this taxon name's name relationships setsgetNameRelations()
,
addRelationshipToName(TaxonNameBase, NameRelationshipType, String)
,
addRelationshipFromName(TaxonNameBase, NameRelationshipType, String)
public void removeNameRelationship(NameRelationship nameRelation)
name relationship
from one of both sets of
name relationships
in which this taxon name is involved.
The name relationship will also be removed from one of both sets belonging
to the second taxon name involved. Furthermore the fromName and toName
attributes of the name relationship object will be nullified.removeNameRelationship
in interface ITaxonNameBase
nameRelation
- the name relationship which should be deleted from one of both setsgetNameRelations()
public void removeRelationToTaxonName(TaxonNameBase toTaxonName)
removeRelationToTaxonName
in interface ITaxonNameBase
@Deprecated public void addRelationship(RelationshipBase relation)
addRelationship
in interface IRelated
relation
- the relationship to be added to one of this taxon name's name relationships setsaddNameRelationship(NameRelationship)
,
getNameRelations()
,
NameRelationship
,
RelationshipBase
,
addHybridRelationship(HybridRelationship)
public Set<NameRelationship> getRelationsFromThisName()
name relationships
in which this taxon name is involved as a source ("from"-side).getRelationsFromThisName
in interface ITaxonNameBase
getNameRelations()
,
getRelationsToThisName()
,
addRelationshipFromName(TaxonNameBase, NameRelationshipType, String)
public Set<NameRelationship> getRelationsToThisName()
name relationships
in which this taxon name is involved as a target ("to"-side).getRelationsToThisName
in interface ITaxonNameBase
getNameRelations()
,
getRelationsFromThisName()
,
addRelationshipToName(TaxonNameBase, NameRelationshipType, String)
public Set<NomenclaturalStatus> getStatus()
nomenclatural status
assigned
to this taxon name according to its corresponding nomenclature code.
This includes the type
of the nomenclatural status
and the nomenclatural code rule considered.getStatus
in interface ITaxonNameBase
NomenclaturalStatus
,
NomenclaturalStatusType
public void addStatus(NomenclaturalStatus nomStatus)
nomenclatural status
to this taxon name's set of nomenclatural status.addStatus
in interface ITaxonNameBase
nomStatus
- the nomenclatural status to be addedgetStatus()
public NomenclaturalStatus addStatus(NomenclaturalStatusType statusType, Reference citation, String microCitation)
addStatus
in interface ITaxonNameBase
public void removeStatus(NomenclaturalStatus nomStatus)
removeStatus
in interface ITaxonNameBase
nomStatus
- the nomenclatural status of this taxon name which should be deletedgetStatus()
protected String generateNameCache()
INonViralNameCacheStrategy
.
The result might be stored in nameCache
if the
flag protectedNameCache
is not set.getNameCache()
public String getNameCache()
protectedNameCache
flag is not set (False)
the string will be generated according to a defined strategy,
otherwise the value of the actual nameCache string will be returned.getNameCache
in interface INonViralName
generateNameCache()
public void setNameCache(String nameCache)
true
.setNameCache
in interface INonViralName
nameCache
- the string which identifies this non viral taxon name (without authors or year)getNameCache()
public void setNameCache(String nameCache, boolean protectedNameCache)
true
.setNameCache
in interface INonViralName
nameCache
- the string which identifies this non viral taxon name (without authors or year)protectedNameCache
- if true teh protectedNameCache is set to true
or otherwise set to
false
getNameCache()
public boolean isOriginalCombination()
basionym
or a replaced synonym
of any other taxon name. Returns "true", if a basionym or a replaced
synonym relationship
from this taxon name to another taxon name exists,
false otherwise (also in case this taxon name is the only one in the
homotypical group).isOriginalCombination
in interface ITaxonNameBase
public boolean isReplacedSynonym()
replaced synonym
of any other taxon name. Returns "true", if a replaced
synonym relationship
from this taxon name to another taxon name exists,
false otherwise (also in case this taxon name is the only one in the
homotypical group).isReplacedSynonym
in interface ITaxonNameBase
public TaxonNameBase getBasionym()
basionym
of this taxon name.
The basionym of a taxon name is its epithet-bringing synonym.
For instance Pinus abies L. was published by Linnaeus and the botanist
Karsten transferred later this taxon to the genus Picea. Therefore,
Pinus abies L. is the basionym of the new combination Picea abies (L.) H. Karst.
If more than one basionym exists one is choosen at radom.
If no basionym exists null is returned.getBasionym
in interface ITaxonNameBase
public Set<TaxonNameBase> getBasionyms()
basionyms
of this taxon name.
The basionym of a taxon name is its epithet-bringing synonym.
For instance Pinus abies L. was published by Linnaeus and the botanist
Karsten transferred later this taxon to the genus Picea. Therefore,
Pinus abies L. is the basionym of the new combination Picea abies (L.) H. Karst.getBasionyms
in interface ITaxonNameBase
public void addBasionym(TaxonNameBase basionym)
basionym
of this taxon name.
The basionym relationship
will be added to this taxon name
and to the basionym. The basionym cannot have itself a basionym.
The homotypical groups
of this taxon name and of the basionym
will be merged
.addBasionym
in interface ITaxonNameBase
basionym
- the taxon name to be set as the basionym of this taxon namegetBasionym()
,
#addBasionym(TaxonNameBase, String)
public NameRelationship addBasionym(TaxonNameBase basionym, Reference citation, String microcitation, String ruleConsidered)
basionym
of this taxon name
and keeps the nomenclatural rule considered for it. The basionym
relationship
will be added to this taxon name and to the basionym.
The basionym cannot have itself a basionym.
The homotypical groups
of this taxon name and of the basionym
will be merged
.addBasionym
in interface ITaxonNameBase
basionym
- the taxon name to be set as the basionym of this taxon nameruleConsidered
- the string identifying the nomenclatural rulegetBasionym()
,
addBasionym(TaxonNameBase)
public Set<TaxonNameBase> getReplacedSynonyms()
replaced synonyms
of this taxon name.getReplacedSynonyms
in interface ITaxonNameBase
public void addReplacedSynonym(TaxonNameBase replacedSynonym, Reference citation, String microcitation, String ruleConsidered)
replaced synonym
of this taxon name
and keeps the nomenclatural rule considered for it. The replaced synonym
relationship
will be added to this taxon name and to the replaced synonym.
The homotypical groups
of this taxon name and of the replaced synonym
will be merged
.addReplacedSynonym
in interface ITaxonNameBase
basionym
- the taxon name to be set as the basionym of this taxon nameruleConsidered
- the string identifying the nomenclatural rulegetBasionym()
,
addBasionym(TaxonNameBase)
public void removeBasionyms()
basionym
relationship
from the set of
name relationships to
this taxon name. The same relationhip will be
removed from the set of name relationships from
the taxon name
previously used as basionym.removeBasionyms
in interface ITaxonNameBase
getBasionym()
,
addBasionym(TaxonNameBase)
public Rank getRank()
rank
of this taxon name.getRank
in interface ITaxonNameBase
Rank
public void setRank(Rank rank)
setRank
in interface ITaxonNameBase
getRank()
public INomenclaturalReference getNomenclaturalReference()
nomenclatural reference
of this taxon name.
The nomenclatural reference is here meant to be the one publication
this taxon name was originally published in while fulfilling the formal
requirements as specified by the corresponding nomenclatural code
.getNomenclaturalReference
in interface ITaxonNameBase
INomenclaturalReference
,
Reference
public void setNomenclaturalReference(INomenclaturalReference nomenclaturalReference)
nomenclatural reference
to this taxon name.
The corresponding nomenclaturally relevant flag
will be set to true
as it is obviously used for nomenclatural purposes.setNomenclaturalReference
in interface ITaxonNameBase
IllegalArgumentException
- if parameter nomenclaturalReference
is not assignable from INomenclaturalReference
getNomenclaturalReference()
public String getAppendedPhrase()
getAppendedPhrase
in interface ITaxonNameBase
public void setAppendedPhrase(String appendedPhrase)
setAppendedPhrase
in interface ITaxonNameBase
getAppendedPhrase()
public String getNomenclaturalMicroReference()
nomenclatural reference
assigned
to this taxon name. The details describe the exact localisation within
the publication used as nomenclature reference. These are mostly
(implicitly) pages but can also be figures or tables or any other
element of a publication. A nomenclatural micro reference (details)
requires the existence of a nomenclatural reference.getNomenclaturalMicroReference
in interface ITaxonNameBase
public void setNomenclaturalMicroReference(String nomenclaturalMicroReference)
setNomenclaturalMicroReference
in interface ITaxonNameBase
getNomenclaturalMicroReference()
public int getParsingProblem()
IParsable
0
)
or not (!=0
). The the parsing was not successful the value returned
defines in more detail what the problem was. The definition of these values depends
on the parser that has been used for parsing.getParsingProblem
in interface IParsable
public void setParsingProblem(int parsingProblem)
setParsingProblem
in interface IParsable
IParsable.getParsingProblem()
public void addParsingProblem(ParserProblem problem)
IParsable
addParsingProblem
in interface IParsable
public void removeParsingProblem(ParserProblem problem)
IParsable
null
, nothing happens.removeParsingProblem
in interface IParsable
public void addParsingProblems(int problems)
addParsingProblems
in interface ITaxonNameBase
warnings
- public boolean hasProblem()
IParsable
hasProblem
in interface IParsable
#getHasProblem()
public boolean hasProblem(ParserProblem problem)
IParsable
hasProblem
in interface IParsable
public int getProblemStarts()
IParsable
getProblemStarts
in interface IParsable
#getHasProblem()
public void setProblemStarts(int start)
setProblemStarts
in interface IParsable
IParsable.getProblemStarts()
public int getProblemEnds()
IParsable
getProblemEnds
in interface IParsable
#getHasProblem()
public void setProblemEnds(int end)
setProblemEnds
in interface IParsable
IParsable.getProblemEnds()
public Set<TypeDesignationBase> getTypeDesignations()
type designations
assigned
to this taxon name.getTypeDesignations
in interface ITaxonNameBase
NameTypeDesignation
,
SpecimenTypeDesignation
public void removeTypeDesignation(TypeDesignationBase typeDesignation)
type designations
assigned to
this taxon name. The type designation itself will be nullified.removeTypeDesignation
in interface ITaxonNameBase
typeDesignation
- the type designation which should be deletedpublic Set<SpecimenTypeDesignation> getSpecimenTypeDesignationsOfHomotypicalGroup()
specimen type designations
assigned
to this taxon name. The rank
of this taxon name is generally
"species" or below. The specimen type designations include all the
specimens on which the typification of this name is based (which are
exclusively used to typify taxon names belonging to the same
homotypical group
to which this taxon name
belongs) and eventually the status of these designations.getSpecimenTypeDesignationsOfHomotypicalGroup
in interface ITaxonNameBase
SpecimenTypeDesignation
,
NameTypeDesignation
,
HomotypicalGroup
public Set<NameTypeDesignation> getNameTypeDesignations()
name type designations
assigned
to this taxon name the rank of which must be above "species".
The name type designations include all the taxon names used to typify
this taxon name and eventually the rejected or conserved status
of these designations.getNameTypeDesignations
in interface ITaxonNameBase
NameTypeDesignation
,
SpecimenTypeDesignation
public NameTypeDesignation addNameTypeDesignation(TaxonNameBase typeSpecies, Reference citation, String citationMicroReference, String originalNameString, NameTypeDesignationStatus status, boolean isRejectedType, boolean isConservedType, boolean isNotDesignated, boolean addToAllHomotypicNames)
name type designation
to this taxon name's set of type designations.addNameTypeDesignation
in interface ITaxonNameBase
typeSpecies
- the taxon name to be used as type of this taxon namecitation
- the reference for this new designationcitationMicroReference
- the string with the details (generally pages) within the referenceoriginalNameString
- the taxon name string used in the reference to assert this designationisRejectedType
- the boolean status for a rejected name type designationisConservedType
- the boolean status for a conserved name type designationisLectoType
- the boolean status for a lectotype name type designationisNotDesignated
- the boolean status for a name type designation without name typeaddToAllHomotypicNames
- the boolean indicating whether the name type designation should be
added to all taxon names of the homotypical group this taxon name belongs togetNameTypeDesignations()
,
NameTypeDesignation
,
TypeDesignationBase.isNotDesignated()
public NameTypeDesignation addNameTypeDesignation(TaxonNameBase typeSpecies, Reference citation, String citationMicroReference, String originalNameString, NameTypeDesignationStatus status, boolean addToAllHomotypicNames)
name type designation
to this taxon name's set of type designations.addNameTypeDesignation
in interface ITaxonNameBase
typeSpecies
- the taxon name to be used as type of this taxon namecitation
- the reference for this new designationcitationMicroReference
- the string with the details (generally pages) within the referenceoriginalNameString
- the taxon name string used in the reference to assert this designationstatus
- the name type designation statusaddToAllHomotypicNames
- the boolean indicating whether the name type designation should be
added to all taxon names of the homotypical group this taxon name belongs togetNameTypeDesignations()
,
NameTypeDesignation
,
TypeDesignationBase.isNotDesignated()
public Set<SpecimenTypeDesignation> getSpecimenTypeDesignations()
specimen type designations
that typify this taxon name.getSpecimenTypeDesignations
in interface ITaxonNameBase
public SpecimenTypeDesignation addSpecimenTypeDesignation(DerivedUnit typeSpecimen, SpecimenTypeDesignationStatus status, Reference citation, String citationMicroReference, String originalNameString, boolean isNotDesignated, boolean addToAllHomotypicNames)
specimen type designation
to this taxon name's set of type designations.addSpecimenTypeDesignation
in interface ITaxonNameBase
typeSpecimen
- the specimen to be used as a type for this taxon namestatus
- the specimen type designation statuscitation
- the reference for this new specimen type designationcitationMicroReference
- the string with the details (generally pages) within the referenceoriginalNameString
- the taxon name used in the reference to assert this designationisNotDesignated
- the boolean status for a specimen type designation without specimen typeaddToAllHomotypicNames
- the boolean indicating whether the specimen type designation should be
added to all taxon names of the homotypical group the typified
taxon name belongs togetSpecimenTypeDesignations()
,
SpecimenTypeDesignationStatus
,
SpecimenTypeDesignation
,
TypeDesignationBase.isNotDesignated()
public boolean addTypeDesignation(TypeDesignationBase typeDesignation, boolean addToAllNames)
type designation
to this
taxon name's set of type designationsaddTypeDesignation
in interface ITaxonNameBase
typeDesignation
- the typeDesignation to be added to this
taxon nameaddToAllNames
- the boolean indicating whether the type designation should be
added to all taxon names of the homotypical group the typified
taxon name belongs toIllegalArgumentException
- if the type designation already has typified names, an exception
is thrown. We do this to prevent a type designation to be used for multiple taxon names.public HomotypicalGroup getHomotypicalGroup()
homotypical group
to which
this taxon name belongs. A homotypical group represents all taxon names
that share the same types.getHomotypicalGroup
in interface ITaxonNameBase
HomotypicalGroup
public void setHomotypicalGroup(HomotypicalGroup homotypicalGroup)
setHomotypicalGroup
in interface ITaxonNameBase
getHomotypicalGroup()
public String getCitationString()
nomenclatural reference citation
and the details
assigned to this taxon name.getCitationString
in interface ITaxonNameBase
eu.etaxonomy.cdm.model.reference.INomenclaturalReference#getNomenclaturalCitation()
,
getNomenclaturalReference()
,
getNomenclaturalMicroReference()
public List<ParserProblem> getParsingProblems()
getParsingProblems
in interface IParsable
@ValidTaxonomicYear(groups=Level3.class) public String getReferenceYear()
nomenclatural reference
for this taxon name, null if there is
no nomenclatural reference.getReferenceYear
in interface ITaxonNameBase
INomenclaturalReference.getYear()
public Set<TaxonBase> getTaxonBases()
taxon bases
that refer to this taxon name.
In this context a taxon base means the use of a taxon name by a reference
either as a taxon
("accepted/correct" name) or
as a (junior) synonym
.
A taxon name can be used by several distinct references
but only once
within a taxonomic treatment (identified by one reference).getTaxonBases
in interface ITaxonNameBase
getTaxa()
,
getSynonyms()
public void addTaxonBase(TaxonBase taxonBase)
taxon base
to the set of taxon bases using this taxon name.addTaxonBase
in interface ITaxonNameBase
taxonBase
- the taxon base to be addedgetTaxonBases()
,
removeTaxonBase(TaxonBase)
public void removeTaxonBase(TaxonBase taxonBase)
taxon bases
that refer to this taxon name.removeTaxonBase
in interface ITaxonNameBase
taxonBase
- the taxon base which should be removed from the corresponding setgetTaxonBases()
,
addTaxonBase(TaxonBase)
public Set<Taxon> getTaxa()
taxa
("accepted/correct" names according to any
reference) that are based on this taxon name. This set is a subset of
the set returned by getTaxonBases().getTaxa
in interface ITaxonNameBase
Taxon
,
getTaxonBases()
,
getSynonyms()
public Set<Synonym> getSynonyms()
(junior) synonyms
(according to any
reference) that are based on this taxon name. This set is a subset of
the set returned by getTaxonBases().getSynonyms
in interface ITaxonNameBase
Synonym
,
getTaxonBases()
,
getTaxa()
public List<HybridRelationship> getOrderedChildRelationships()
getOrderedChildRelationships
in interface INonViralName
getHybridParentRelations()
public HybridRelationship addHybridParent(INonViralName parentName, HybridRelationshipType type, String ruleConsidered)
hybrid relationship
to this botanical name. A HybridRelationship may be of type
"is first/second parent" or "is male/female parent". By invoking this
method this botanical name becomes a hybrid child of the parent
botanical name.addHybridParent
in interface INonViralName
parentName
- the botanical name of the parent for this new hybrid name relationshiptype
- the type of this new name relationshipruleConsidered
- the string which specifies the rule on which this name relationship is based#addHybridChild(BotanicalName, HybridRelationshipType,String )
,
getRelationsToThisName()
,
getNameRelations()
,
addRelationshipFromName(TaxonNameBase, NameRelationshipType, String)
,
addNameRelationship(NameRelationship)
public HybridRelationship addHybridChild(INonViralName childName, HybridRelationshipType type, String ruleConsidered)
hybrid relationship
to this botanical name. A HybridRelationship may be of type
"is first/second parent" or "is male/female parent". By invoking this
method this botanical name becomes a parent of the hybrid child
botanical name.addHybridChild
in interface INonViralName
childName
- the botanical name of the child for this new hybrid name relationshiptype
- the type of this new name relationshipruleConsidered
- the string which specifies the rule on which this name relationship is based#addHybridParent(BotanicalName, HybridRelationshipType,String )
,
getRelationsToThisName()
,
getNameRelations()
,
addRelationshipFromName(TaxonNameBase, NameRelationshipType, String)
,
addNameRelationship(NameRelationship)
public void removeHybridChild(INonViralName child)
removeHybridChild
in interface INonViralName
public void removeHybridParent(INonViralName parent)
removeHybridParent
in interface INonViralName
public Set<TaxonNameDescription> getDescriptions()
taxon name descriptions
assigned
to this taxon name. A taxon name description is a piece of information
concerning the taxon name like for instance the content of its first
publication (protolog) or a picture of this publication.getDescriptions
in interface ITaxonNameBase
addDescription(TaxonNameDescription)
,
removeDescription(TaxonNameDescription)
,
TaxonNameDescription
public void addDescription(TaxonNameDescription description)
taxon name description
to the set of taxon name descriptions assigned to this taxon name. The
content of the taxonName attribute
of the
taxon name description itself will be replaced with this taxon name.addDescription
in interface ITaxonNameBase
description
- the taxon name description to be addedgetDescriptions()
,
removeDescription(TaxonNameDescription)
public void removeDescription(TaxonNameDescription description)
taxon name descriptions
assigned
to this taxon name. The content of the taxonName attribute
of the description itself will be set to "null".removeDescription
in interface ITaxonNameBase
description
- the taxon name description which should be removedgetDescriptions()
,
addDescription(TaxonNameDescription)
,
TaxonNameDescription.getTaxonName()
public void mergeHomotypicGroups(TaxonNameBase name)
mergeHomotypicGroups
in interface ITaxonNameBase
public boolean isHomotypic(TaxonNameBase homoTypicName)
homotypical group
as this taxon name (true)
or not (false). Returns "true" only if the homotypical groups of both
taxon names exist and if they are identical.isHomotypic
in interface ITaxonNameBase
homoTypicName
- the taxon name the homotypical group of which is to be checkedHomotypicalGroup
public boolean isGroupsBasionym()
false
if there are no other names in the groupisGroupsBasionym
in interface ITaxonNameBase
name
- public boolean isBasionymFor(TaxonNameBase newCombinationName)
isBasionymFor
in interface ITaxonNameBase
fromName
- toName
- public void makeGroupsBasionym()
makeGroupsBasionym
in interface ITaxonNameBase
HomotypicalGroup.setGroupBasionym(TaxonNameBase basionymName)
public boolean isSupraGeneric()
rank
of this
taxon name is higher than the genus rank (true) or not (false).
Suprageneric non viral names are monomials.
Returns false if rank is null.isSupraGeneric
in interface ITaxonNameBase
isGenus()
,
isInfraGeneric()
,
isSpecies()
,
isInfraSpecific()
public boolean isGenus()
rank
of this
taxon name is the genus rank (true) or not (false). Non viral names with
genus rank are monomials. Returns false if rank is null.isGenus
in interface ITaxonNameBase
isSupraGeneric()
,
isInfraGeneric()
,
isSpecies()
,
isInfraSpecific()
public boolean isInfraGeneric()
rank
of this
taxon name is higher than the species rank and lower than the
genus rank (true) or not (false). Infrageneric non viral names are
binomials. Returns false if rank is null.isInfraGeneric
in interface ITaxonNameBase
isSupraGeneric()
,
isGenus()
,
isSpecies()
,
isInfraSpecific()
public boolean isSupraSpecific()
rank
of this
taxon name is higher than the species rank (true) or not (false).
Returns false if rank is null.isSupraSpecific
in interface ITaxonNameBase
isGenus()
,
isInfraGeneric()
,
isSpecies()
,
isInfraSpecific()
public boolean isSpecies()
rank
of this
taxon name is the species rank (true) or not (false). Non viral names
with species rank are binomials.
Returns false if rank is null.isSpecies
in interface ITaxonNameBase
isSupraGeneric()
,
isGenus()
,
isInfraGeneric()
,
isInfraSpecific()
public boolean isInfraSpecific()
rank
of this
taxon name is lower than the species rank (true) or not (false).
Infraspecific non viral names are trinomials.
Returns false if rank is null.isInfraSpecific
in interface ITaxonNameBase
isSupraGeneric()
,
isGenus()
,
isInfraGeneric()
,
isSpecies()
public boolean isSpeciesAggregate()
isSpeciesAggregate
in interface ITaxonNameBase
Rank.isSpeciesAggregate()
public NomenclaturalCode getNomenclaturalCode()
nomenclatural code
that governs
the construction of this taxon name since there is no specific
nomenclatural code defined. The real implementention takes place in the
subclasses BacterialName
,
BotanicalName
, CultivarPlantName
and
ZoologicalName
. Each taxon name is governed by one
and only one nomenclatural code.getNomenclaturalCode
in interface ITaxonNameBase
#isCodeCompliant()
,
#getHasProblem()
public void setAsGroupsBasionym()
setAsGroupsBasionym
in interface ITaxonNameBase
basionymName
- public void removeAsGroupsBasionym()
removeAsGroupsBasionym
in interface ITaxonNameBase
basionymName
- public String getLastNamePart()
getLastNamePart
in interface INonViralName
public boolean isHybridName()
true
if any of the monon, binom or trinom
hybrid flags is set. false
if neither of these flags is set.
Note: usually false
if the hybrid formula flag is set as a name is
either a hybrid name or a hybrid formula or none of them, but never both.isHybridName
in interface INonViralName
INonViralName.isHybridFormula()
,
INonViralName.isMonomHybrid()
,
INonViralName.isBinomHybrid()
,
INonViralName.isTrinomHybrid()
,
INonViralName.isHybrid()
public boolean isHybrid()
true
if any of the monon, binom, trinom
hybrid flags or the hybrid formula flag is set. false
otherwise.isHybrid
in interface INonViralName
INonViralName.isHybridFormula()
,
INonViralName.isMonomHybrid()
,
INonViralName.isBinomHybrid()
,
INonViralName.isTrinomHybrid()
,
INonViralName.isHybridName()
public int compareToName(TaxonNameBase<?,?> otherName)
ITaxonNameBase
TaxonNameComparator
.
Historically it was a compareTo method in IdentifiableEntity
but did not fulfill the Comparable
contract.
https://dev.e-taxonomy.eu/redmine/issues/922
https://dev.e-taxonomy.eu/redmine/issues/6311
compareToName
in interface ITaxonNameBase
Comparable.compareTo(Object)
compareToName(TaxonNameBase)
,
TaxonNameComparator
,
TaxonComparator
public static TaxonNameBase castAndDeproxy(ITaxonNameBase interfacedName)
interfacedName
- castAndDeproxy(Set)
public static Set<TaxonNameBase> castAndDeproxy(Set<ITaxonNameBase> naminterfacedNames)
naminterfacedNames
- castAndDeproxy(ITaxonNameBase)
public Object clone()
Name descriptions
are cloned and not reused.Type designations
are cloned and not reused.clone
in interface ITaxonNameBase
clone
in class IdentifiableEntity<S extends INameCacheStrategy>
eu.etaxonomy.cdm.model.media.IdentifiableEntity#clone()
,
Object.clone()
Copyright © 2007-2017 EDIT. All Rights Reserved.