@Entity @NameMustFollowCode @CorrectEpithetsForRank(groups=Level2.class) @NameMustHaveAuthority(groups=Level2.class) @NoDuplicateNames(groups=Level3.class) @Indexed(index="eu.etaxonomy.cdm.model.name.TaxonName") public class TaxonName extends IdentifiableEntity<INameCacheStrategy> implements ITaxonNameBase, INonViralName, IViralName, IBacterialName, IZoologicalName, IBotanicalName, ICultivarPlantName, IFungusName, IParsable, IRelated, IMatchable, IIntextReferenceTarget, java.lang.Cloneable, IDescribable<TaxonNameDescription>
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 java.lang.String |
fullTitleCache |
protected boolean |
protectedAuthorshipCache |
protected boolean |
protectedNameCache |
cacheStrategy, NOT_PROTECTED, PROTECTED, protectedTitleCache, titleCache
annotations, markers
CLOB_LENGTH, uuid
Modifier | Constructor and Description |
---|---|
protected |
TaxonName()
Class constructor: creates a new empty taxon name.
|
protected |
TaxonName(NomenclaturalCode type,
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 |
TaxonName(NomenclaturalCode type,
Rank rank,
java.lang.String genusOrUninomial,
java.lang.String infraGenericEpithet,
java.lang.String specificEpithet,
java.lang.String infraSpecificEpithet,
TeamOrPersonBase combinationAuthorship,
Reference nomenclaturalReference,
java.lang.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 |
---|---|
NameRelationship |
addBasionym(TaxonName basionym)
Assigns a taxon name as
basionym of this taxon name. |
NameRelationship |
addBasionym(TaxonName basionym,
Reference citation,
java.lang.String microcitation,
java.lang.String ruleConsidered,
NomenclaturalCodeEdition codeEdition)
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,
java.lang.String ruleConsidered)
Creates a new
hybrid relationship
to this botanical name. |
HybridRelationship |
addHybridParent(INonViralName parentName,
HybridRelationshipType type,
Reference reference,
java.lang.String microReference,
java.lang.String ruleConsidered,
NomenclaturalCodeEdition codeEdition)
Creates a new
hybrid relationship
to this non viral name. |
HybridRelationship |
addHybridParent(INonViralName parentName,
HybridRelationshipType type,
java.lang.String ruleConsidered)
Creates a new
hybrid relationship
to this non viral 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(TaxonName typeSpecies,
Reference citation,
java.lang.String citationMicroReference,
java.lang.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(TaxonName typeSpecies,
Reference citation,
java.lang.String citationMicroReference,
java.lang.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. |
NameRelationship |
addOriginalSpelling(TaxonName originalSpelling,
Reference citation,
java.lang.String microcitation)
Deprecated.
|
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(TaxonName fromName,
NameRelationshipType type,
Reference citation,
java.lang.String microCitation,
java.lang.String ruleConsidered,
NomenclaturalCodeEdition codeEdition)
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(TaxonName fromName,
NameRelationshipType type,
java.lang.String ruleConsidered,
NomenclaturalCodeEdition codeEdition)
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(TaxonName toName,
NameRelationshipType type)
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 . |
NameRelationship |
addRelationshipToName(TaxonName toName,
NameRelationshipType type,
Reference citation,
java.lang.String microCitation,
java.lang.String ruleConsidered,
NomenclaturalCodeEdition codeEdition)
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 . |
NameRelationship |
addRelationshipToName(TaxonName toName,
NameRelationshipType type,
java.lang.String ruleConsidered,
NomenclaturalCodeEdition codeEdition)
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(TaxonName replacedSynonym,
Reference citation,
java.lang.String microcitation,
java.lang.String ruleConsidered,
NomenclaturalCodeEdition codeEdition)
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,
java.lang.String citationMicroReference,
java.lang.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,
java.lang.String microCitation) |
void |
addTaxonBase(TaxonBase taxonBase)
Adds a new
taxon base
to the set of taxon bases using this taxon name. |
TextualTypeDesignation |
addTextualTypeDesignation(java.lang.String text,
Language language,
boolean isVerbatim,
Reference citation,
java.lang.String citationMicroReference,
java.lang.String originalNameString,
boolean addToAllHomotypicNames)
Creates and adds a new
textual type designation
to this taxon name's set of type designations. |
boolean |
addTypeDesignation(TypeDesignationBase<?> typeDesignation,
boolean addToAllNames)
Adds a
type designation to this taxon name's set of type designations |
static TaxonName |
castAndDeproxy(ITaxonNameBase interfacedName)
Method to cast a interfaced name to a concrete name.
|
static java.util.Set<TaxonName> |
castAndDeproxy(java.util.Set<ITaxonNameBase> naminterfacedNames)
Method to cast a set of interfaced names to concrete namex.
|
java.lang.Object |
clone()
Clones this taxon name.
|
int |
compareToName(TaxonName otherName)
This method compares 2 taxon names on it's name titles and caches.
|
java.lang.String |
computeBasionymAuthorNomenclaturalTitle()
Shortcut.
|
java.lang.String |
computeCombinationAuthorNomenclaturalTitle()
Shortcut.
|
java.lang.String |
computeExBasionymAuthorNomenclaturalTitle()
Shortcut.
|
java.lang.String |
computeExCombinationAuthorNomenclaturalTitle()
Shortcut.
|
java.lang.String |
generateAuthorship()
Generates and returns a concatenated and formated author team string
including basionym and combination authors of this taxon name
according to the strategy defined in
INonViralNameCacheStrategy . |
java.lang.String |
generateFullTitle() |
protected java.lang.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 . |
java.lang.String |
getAcronym()
Returns the accepted acronym (an assigned abbreviation) string for this
viral taxon name.
|
protected java.util.Map<java.lang.String,java.lang.reflect.Field> |
getAllFields() |
java.lang.String |
getAppendedPhrase()
Returns the appended phrase string assigned to this taxon name.
|
java.lang.String |
getAuthorshipCache()
Returns the concatenated and formated authorteams string including
basionym and combination authors of this non viral taxon name.
|
TaxonName |
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. |
java.util.Set<TaxonName> |
getBasionyms()
Returns the set of taxon names which are the
basionyms of this taxon name. |
java.lang.String |
getBreed()
Returns the breed name string for this animal (zoological taxon name).
|
INameCacheStrategy |
getCacheStrategy()
Returns the
cache strategy used to generate
several strings corresponding to this identifiable entity
(in particular taxon name caches and author strings). |
java.lang.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. |
java.lang.String |
getCultivarName()
Returns the characteristical cultivar name part string assigned to this
cultivar taxon name.
|
java.util.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). |
java.lang.String |
getFullTitleCache() |
java.lang.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. |
java.util.Set<HybridRelationship> |
getHybridChildRelations()
Returns the set of all
hybrid relationships
in which this taxon name is involved as a child . |
java.util.Set<HybridRelationship> |
getHybridParentRelations()
Returns the set of all
hybrid relationships
in which this taxon name is involved as a parent . |
TeamOrPersonBase<?> |
getInBasionymAuthorship() |
TeamOrPersonBase<?> |
getInCombinationAuthorship() |
java.lang.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). |
java.lang.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). |
java.lang.String |
getLastNamePart()
Defines the last part of the name.
|
java.lang.String |
getNameApprobation()
Returns the string representing the reason for the approbation of this
bacterial taxon name.
|
java.lang.String |
getNameCache()
Returns or generates the nameCache (scientific name
without author strings and year) string for this non viral taxon name.
|
java.util.Set<NameRelationship> |
getNameRelations()
Returns the set of all
name relationships
in which this taxon name is involved. |
NomenclaturalCode |
getNameType() |
java.util.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()
Deprecated.
use
getNameType() instead |
java.lang.String |
getNomenclaturalMicroReference()
Returns the details string of the
nomenclatural reference assigned
to this taxon name. |
Reference |
getNomenclaturalReference()
Returns the
nomenclatural reference of this taxon name. |
DescriptionElementSource |
getNomenclaturalSource()
Sets the nomenclatural source which is a combination of the nomenclatural reference
and the detail information (exact page, table, figure, ...) where to find this name
for the first time.
|
protected DescriptionElementSource |
getNomenclaturalSource(boolean createIfNotExist) |
java.util.List<HybridRelationship> |
getOrderedChildRelationships()
Returns the hybrid child relationships ordered by relationship type, or if equal
by title cache of the related names.
|
java.lang.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 ). |
java.util.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.
|
java.lang.Integer |
getPublicationYear()
Returns the publication year (as an integer) for this zoological taxon
name.
|
Rank |
getRank()
Returns the taxonomic
rank of this taxon name. |
java.lang.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. |
java.util.Set<Registration> |
getRegistrations()
This method returns als
registrations for the given name. |
java.util.Set<TaxonName> |
getRelatedNames(RelationshipBase.Direction direction,
NameRelationshipType type) |
java.util.Set<NameRelationship> |
getRelationsFromThisName()
Returns the set of all
name relationships
in which this taxon name is involved as a source ("from"-side). |
java.util.Set<NameRelationship> |
getRelationsToThisName()
Returns the set of all
name relationships
in which this taxon name is involved as a target ("to"-side). |
java.util.Set<TaxonName> |
getReplacedSynonyms()
Returns the set of taxon names which are the
replaced synonyms of this taxon name. |
java.lang.String |
getSpecificEpithet()
Returns the species epithet string for this non viral taxon name if its
rank is
species aggregate or lower (bi- or trinomial). |
java.util.Set<SpecimenTypeDesignation> |
getSpecimenTypeDesignations()
Returns the set of
specimen type designations
that typify this taxon name. |
java.util.Set<SpecimenTypeDesignation> |
getSpecimenTypeDesignationsOfHomotypicalGroup()
Returns the set of
specimen type designations assigned
to this taxon name. |
java.util.Set<NomenclaturalStatus> |
getStatus()
Returns the set of
nomenclatural status assigned
to this taxon name according to its corresponding nomenclature code. |
java.lang.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.
|
java.util.Set<Synonym> |
getSynonyms()
Returns the set of
(junior) synonyms (according to any
reference) that are based on this taxon name. |
java.util.List<TaggedText> |
getTaggedFullTitle() |
java.util.List<TaggedText> |
getTaggedName() |
java.util.Set<Taxon> |
getTaxa()
Returns the set of
taxa ("accepted/correct" names according to any
reference) that are based on this taxon name. |
java.util.Set<TaxonBase> |
getTaxonBases()
Returns the set of
taxon bases that refer to this taxon name. |
java.lang.String |
getTitleCache()
Returns the title cache.
|
java.util.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 |
isAnamorphic()
Returns the boolean value of the flag indicating whether the specimen
type of this fungi name is asexual (true) or not
(false).
|
boolean |
isAutonym()
Checks if this name is an autonym.
An autonym is a taxon name that has equal specific and infra specific epithets. {@link http://ibot.sav.sk/icbn/frameset/0010Ch2Sec1a006.htm#6.8. |
boolean |
isBacterial()
Returns
true if this name is of type NomenclaturalCode.ICNB or
any sub type and is supposed to be handled via IBacterialName |
boolean |
isBasionymFor(TaxonName 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 |
isBotanical()
Returns
true if this name is of type NomenclaturalCode.ICNAFP or
any sub type and is supposed to be handled via IBotanicalName |
boolean |
isCultivar()
Returns
true if this name is of type NomenclaturalCode.ICNCP or
any sub type and is supposed to be handled via ICultivarPlantName |
boolean |
isGenus()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is the genus rank (true) or not (false). |
boolean |
isGenusOrSupraGeneric()
Returns the boolean value indicating whether the taxonomic
rank of this
taxon name is the genus rank or higher (true ) or not (false ). |
boolean |
isGroupsBasionym()
Checks whether name is a basionym for ALL names
in its homotypical group.
|
boolean |
isHomotypic(TaxonName 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 |
isNonViral()
Returns
true if this name is of type NomenclaturalCode.NonViral or
any sub type and is supposed to be handled via INonViralName |
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).
|
boolean |
isViral()
Returns
true if this name is of type NomenclaturalCode.ICVCN or
any sub type and is supposed to be handled via IViralName |
boolean |
isZoological()
Returns
true if this name is of type NomenclaturalCode.ICZN or
any sub type and is supposed to be handled via IZoologicalName |
void |
makeGroupsBasionym()
Creates a basionym relationship to all other names in this names homotypical
group.
|
void |
mergeHomotypicGroups(TaxonName name) |
protected static TaxonName |
NewInstance(NomenclaturalCode code,
Rank rank,
HomotypicalGroup homotypicalGroup) |
static TaxonName |
NewInstance(NomenclaturalCode code,
Rank rank,
java.lang.String genusOrUninomial,
java.lang.String infraGenericEpithet,
java.lang.String specificEpithet,
java.lang.String infraSpecificEpithet,
TeamOrPersonBase combinationAuthorship,
Reference nomenclaturalReference,
java.lang.String nomenclMicroRef,
HomotypicalGroup homotypicalGroup) |
protected java.util.Set<NameRelationship> |
relationsWithThisName(RelationshipBase.Direction direction) |
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 |
removeNameRelations(RelationshipBase.Direction direction,
NameRelationshipType type)
Removes all
relationships of the given type from the set of
relations in the specified direction direction wich are related from or to this
this taxon name. |
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(TaxonName toTaxonName) |
void |
removeRelationWithTaxonName(TaxonName otherTaxonName,
RelationshipBase.Direction direction,
NameRelationshipType type) |
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(java.lang.String acronym) |
void |
setAnamorphic(boolean anamorphic) |
void |
setAppendedPhrase(java.lang.String appendedPhrase) |
void |
setAsGroupsBasionym()
Creates a basionym relationship between this name and
each name in its homotypic group.
|
void |
setAuthorshipCache(java.lang.String authorshipCache)
Assigns an authorshipCache string to this non viral taxon name.
|
void |
setAuthorshipCache(java.lang.String authorshipCache,
boolean protectedAuthorshipCache)
Assigns an authorshipCache string to this non viral taxon name.
|
void |
setBasionymAuthorship(TeamOrPersonBase<?> basionymAuthorship) |
void |
setBinomHybrid(boolean binomHybrid) |
void |
setBreed(java.lang.String breed) |
void |
setCombinationAuthorship(TeamOrPersonBase<?> combinationAuthorship) |
void |
setCultivarName(java.lang.String cultivarName) |
void |
setExBasionymAuthorship(TeamOrPersonBase<?> exBasionymAuthorship) |
void |
setExCombinationAuthorship(TeamOrPersonBase<?> exCombinationAuthorship) |
void |
setFullTitleCache(java.lang.String fullTitleCache) |
void |
setFullTitleCache(java.lang.String fullTitleCache,
boolean protectCache) |
void |
setGenusOrUninomial(java.lang.String genusOrUninomial) |
void |
setHomotypicalGroup(HomotypicalGroup homotypicalGroup) |
void |
setHybridFormula(boolean hybridFormula) |
void |
setInBasionymAuthorship(TeamOrPersonBase<?> inBasionymAuthorship) |
void |
setInCombinationAuthorship(TeamOrPersonBase<?> inCombinationAuthorship) |
void |
setInfraGenericEpithet(java.lang.String infraGenericEpithet) |
void |
setInfraSpecificEpithet(java.lang.String infraSpecificEpithet) |
void |
setMonomHybrid(boolean monomHybrid) |
void |
setNameApprobation(java.lang.String nameApprobation) |
void |
setNameCache(java.lang.String nameCache)
Assigns a nameCache string to this non viral taxon name and protects it from being overwritten.
|
void |
setNameCache(java.lang.String nameCache,
boolean protectedNameCache)
Assigns a nameCache string to this non viral taxon name and protects it from being overwritten.
|
void |
setNameType(NomenclaturalCode nameType) |
void |
setNomenclaturalMicroReference(java.lang.String nomenclaturalMicroReference) |
void |
setNomenclaturalReference(INomenclaturalReference nomenclaturalReference)
Same as setNomenclaturalReferences, to also allow interfaces to be used.
|
void |
setNomenclaturalReference(Reference nomenclaturalReference)
Assigns a
nomenclatural reference to this taxon name. |
void |
setNomenclaturalSource(DescriptionElementSource nomenclaturalSource)
Sets the nomenclatural source
|
void |
setOriginalPublicationYear(java.lang.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(java.lang.Integer publicationYear) |
void |
setRank(Rank rank) |
void |
setSpecificEpithet(java.lang.String specificEpithet) |
void |
setStatus(java.util.Set<NomenclaturalStatus> nomStatus) |
void |
setSubGenusAuthorship(java.lang.String subGenusAuthorship) |
void |
setTitleCache(java.lang.String titleCache,
boolean protectCache)
Sets the title cache.
NOTE: In most cases the protectCache argument should be set to true . |
void |
setTrinomHybrid(boolean trinomHybrid) |
boolean |
updateCaches() |
addCredit, addCredit, addExtension, addExtension, addIdentifier, addIdentifier, addIdentifier, addRights, addSource, addSources, createNewSource, generateTitle, getCredits, getCredits, getData, getExtensions, getExtensions, getExtensions, getExtensionsConcat, getExtensionsConcat, getFilteredExtensions, getIdentifiers, getIdentifiers, getIdentifiers, getLsid, getRights, getTruncatedCache, hasEmptyTitleCache, hasExtension, hasExtension, isProtectedTitleCache, removeCredit, removeCredit, removeExtension, removeIdentifier, removeIdentifier, removeRights, replaceCredit, replaceIdentifier, resetTitleCache, setCacheStrategy, setLsid, setProtectedTitleCache, setTitleCache, toString, updateCaches
addAggregationSource, addImportSource, addPrimaryTaxonomicSource, addPrimaryTaxonomicSource, addSource, addSource, getSources, removeSource, removeSources
addAnnotation, addMarker, addMarker, getAnnotations, getAnnotations, getMarkers, getMarkers, hasMarker, hasMarker, markerValue, removeAnnotation, removeMarker, removeMarker, setAnnotations
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, isNotBlank, isPersited, 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, resetTitleCache, setLsid, setProtectedTitleCache, setTitleCache, toString
addAggregationSource, addImportSource, addPrimaryTaxonomicSource, addPrimaryTaxonomicSource, addSource, addSource, addSource, addSources, getSources, removeSource
addAnnotation, addMarker, getAnnotations, getMarkers, getMarkers, hasMarker, hasMarker, markerValue, removeAnnotation, removeMarker, removeMarker
getUpdated, getUpdatedBy, setUpdated, setUpdatedBy
@NotEmpty(groups=Level2.class) protected java.lang.String fullTitleCache
protected boolean protectedNameCache
protected boolean protectedAuthorshipCache
protected TaxonName()
code
- #TaxonName(Rank)
,
#TaxonName(HomotypicalGroup)
,
#TaxonName(Rank, HomotypicalGroup)
protected TaxonName(NomenclaturalCode type, 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 belongsTaxonName()
,
#TaxonName(Rank)
,
#TaxonName(HomotypicalGroup)
protected TaxonName(NomenclaturalCode type, Rank rank, java.lang.String genusOrUninomial, java.lang.String infraGenericEpithet, java.lang.String specificEpithet, java.lang.String infraSpecificEpithet, TeamOrPersonBase combinationAuthorship, Reference nomenclaturalReference, java.lang.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 belongsNewInstance(NomenclaturalCode, Rank, HomotypicalGroup)
,
NewInstance(NomenclaturalCode, Rank, String, String, String, String, TeamOrPersonBase, Reference, String, HomotypicalGroup)
,
INonViralNameCacheStrategy
,
INameCacheStrategy
,
IIdentifiableEntityCacheStrategy
protected static TaxonName NewInstance(NomenclaturalCode code, Rank rank, HomotypicalGroup homotypicalGroup)
code
- rank
- homotypicalGroup
- public static TaxonName NewInstance(NomenclaturalCode code, Rank rank, java.lang.String genusOrUninomial, java.lang.String infraGenericEpithet, java.lang.String specificEpithet, java.lang.String infraSpecificEpithet, TeamOrPersonBase combinationAuthorship, Reference nomenclaturalReference, java.lang.String nomenclMicroRef, HomotypicalGroup homotypicalGroup)
icnafp
- rank2
- genusOrUninomial2
- infraGenericEpithet2
- specificEpithet2
- infraSpecificEpithet2
- combinationAuthorship2
- nomenclaturalReference2
- nomenclMicroRef
- homotypicalGroup2
- 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<INameCacheStrategy>
protected java.util.Map<java.lang.String,java.lang.reflect.Field> getAllFields()
public NomenclaturalCode getNameType()
getNameType
in interface ITaxonNameBase
public void setNameType(NomenclaturalCode nameType)
setNameType
in interface ITaxonNameBase
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 java.lang.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(java.lang.String genusOrUninomial)
setGenusOrUninomial
in interface INonViralName
getGenusOrUninomial()
public java.lang.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(java.lang.String infraGenericEpithet)
setInfraGenericEpithet
in interface INonViralName
getInfraGenericEpithet()
public java.lang.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(java.lang.String specificEpithet)
setSpecificEpithet
in interface INonViralName
getSpecificEpithet()
public java.lang.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(java.lang.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<?> getInCombinationAuthorship()
getInCombinationAuthorship
in interface IZoologicalName
https://dev.e-taxonomy.eu/redmine/issues/6943
public void setInCombinationAuthorship(TeamOrPersonBase<?> inCombinationAuthorship)
setInCombinationAuthorship
in interface IZoologicalName
https://dev.e-taxonomy.eu/redmine/issues/6943
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 TeamOrPersonBase<?> getInBasionymAuthorship()
getInBasionymAuthorship
in interface IZoologicalName
https://dev.e-taxonomy.eu/redmine/issues/6943
public void setInBasionymAuthorship(TeamOrPersonBase<?> inBasionymAuthorship)
setInBasionymAuthorship
in interface IZoologicalName
https://dev.e-taxonomy.eu/redmine/issues/6943
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 java.util.Set<HybridRelationship> getHybridParentRelations()
hybrid relationships
in which this taxon name is involved as a parent
.getHybridParentRelations
in interface INonViralName
#getHybridRelationships()
,
#getChildRelationships()
,
HybridRelationshipType
public java.util.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()
INonViralName
isTrinomHybrid
in interface INonViralName
INonViralName.isHybridFormula()
,
INonViralName.isMonomHybrid()
,
INonViralName.isBinomHybrid()
,
INonViralName.isHybridName()
,
INonViralName.isHybrid()
public void setTrinomHybrid(boolean trinomHybrid)
setTrinomHybrid
in interface INonViralName
isTrinomHybrid()
,
isBinomHybrid()
,
isMonomHybrid()
public java.lang.String getAcronym()
IViralName
getAcronym
in interface IViralName
public void setAcronym(java.lang.String acronym)
setAcronym
in interface IViralName
getAcronym()
public java.lang.String getSubGenusAuthorship()
IBacterialName
getSubGenusAuthorship
in interface IBacterialName
public void setSubGenusAuthorship(java.lang.String subGenusAuthorship)
setSubGenusAuthorship
in interface IBacterialName
IBacterialName.getSubGenusAuthorship()
public java.lang.String getNameApprobation()
IBacterialName
getNameApprobation
in interface IBacterialName
public void setNameApprobation(java.lang.String nameApprobation)
setNameApprobation
in interface IBacterialName
getNameApprobation()
public java.lang.String getBreed()
IZoologicalName
getBreed
in interface IZoologicalName
public void setBreed(java.lang.String breed)
setBreed
in interface IZoologicalName
getBreed()
public java.lang.Integer getPublicationYear()
IZoologicalName
nomenclatural reference
.getPublicationYear
in interface IZoologicalName
IZoologicalName.getOriginalPublicationYear()
public void setPublicationYear(java.lang.Integer publicationYear)
setPublicationYear
in interface IZoologicalName
getPublicationYear()
public java.lang.Integer getOriginalPublicationYear()
IZoologicalName
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
IZoologicalName.getPublicationYear()
public void setOriginalPublicationYear(java.lang.Integer originalPublicationYear)
setOriginalPublicationYear
in interface IZoologicalName
getOriginalPublicationYear()
public java.lang.String getCultivarName()
ICultivarPlantName
default cache strategy
).getCultivarName
in interface ICultivarPlantName
public void setCultivarName(java.lang.String cultivarName)
setCultivarName
in interface ICultivarPlantName
getCultivarName()
public boolean isAnamorphic()
IFungusName
isAnamorphic
in interface IFungusName
public void setAnamorphic(boolean anamorphic)
setAnamorphic
in interface IFungusName
isAnamorphic()
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 addedjava.lang.IllegalArgumentException
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 INameCacheStrategy getCacheStrategy()
IdentifiableEntity
cache strategy
used to generate
several strings corresponding to this identifiable entity
(in particular taxon name caches and author strings).getCacheStrategy
in class IdentifiableEntity<INameCacheStrategy>
IIdentifiableEntityCacheStrategy
public java.lang.String generateFullTitle()
generateFullTitle
in interface ITaxonNameBase
public void setFullTitleCache(java.lang.String fullTitleCache)
setFullTitleCache
in interface ITaxonNameBase
public void setFullTitleCache(java.lang.String fullTitleCache, boolean protectCache)
setFullTitleCache
in interface ITaxonNameBase
public boolean isAutonym()
Vienna Code §6.8
or a taxon name that has equal generic and infrageneric epithets (A22.2).isAutonym
in interface INonViralName
public java.util.List<TaggedText> getTaggedName()
getTaggedName
in interface ITaxonNameBase
public java.util.List<TaggedText> getTaggedFullTitle()
getTaggedFullTitle
in interface ITaxonNameBase
public java.lang.String getFullTitleCache()
getFullTitleCache
in interface ITaxonNameBase
public java.lang.String getTitleCache()
IIdentifiableEntity
getTitleCache
in interface IIdentifiableEntity
getTitleCache
in class IdentifiableEntity<INameCacheStrategy>
IIdentifiableEntity.generateTitle()
public void setTitleCache(java.lang.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<INameCacheStrategy>
titleCache
- the new title cacheprotectCache
- the protect flag, should in most cases be set to true
public java.lang.String getAuthorshipCache()
getAuthorshipCache
in interface INonViralName
generateAuthorship()
public void setAuthorshipCache(java.lang.String authorshipCache)
true
.setAuthorshipCache
in interface INonViralName
authorshipCache
- the string which identifies the complete authorship of this non viral taxon namegetAuthorshipCache()
public void setAuthorshipCache(java.lang.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 java.lang.String generateAuthorship()
INonViralNameCacheStrategy
.generateAuthorship
in interface INonViralName
INameCacheStrategy.getAuthorshipCache(TaxonName)
public boolean hasAuthors()
hasAuthors
in interface INonViralName
public java.lang.String computeCombinationAuthorNomenclaturalTitle()
computeCombinationAuthorNomenclaturalTitle
in interface INonViralName
public java.lang.String computeBasionymAuthorNomenclaturalTitle()
computeBasionymAuthorNomenclaturalTitle
in interface INonViralName
public java.lang.String computeExCombinationAuthorNomenclaturalTitle()
computeExCombinationAuthorNomenclaturalTitle
in interface INonViralName
public java.lang.String computeExBasionymAuthorNomenclaturalTitle()
computeExBasionymAuthorNomenclaturalTitle
in interface INonViralName
public java.util.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.getNameRelations
in interface ITaxonNameBase
getRelationsToThisName()
,
getRelationsFromThisName()
,
addNameRelationship(NameRelationship)
,
#addRelationshipToName(TaxonName, NameRelationshipType, String)
,
#addRelationshipFromName(TaxonName, NameRelationshipType, String)
public NameRelationship addRelationshipToName(TaxonName toName, NameRelationshipType type, java.lang.String ruleConsidered, NomenclaturalCodeEdition codeEdition)
ITaxonNameBase
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 basedITaxonNameBase.getRelationsToThisName()
,
ITaxonNameBase.getNameRelations()
,
#addRelationshipFromName(TaxonName, NameRelationshipType, String)
,
#addNameRelationship(NameRelationship)
public NameRelationship addRelationshipToName(TaxonName toName, NameRelationshipType type)
ITaxonNameBase
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 relationshipITaxonNameBase.getRelationsToThisName()
,
ITaxonNameBase.getNameRelations()
,
#addRelationshipFromName(TaxonName, NameRelationshipType, String)
,
#addNameRelationship(NameRelationship)
public NameRelationship addRelationshipToName(TaxonName toName, NameRelationshipType type, Reference citation, java.lang.String microCitation, java.lang.String ruleConsidered, NomenclaturalCodeEdition codeEdition)
ITaxonNameBase
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 basedITaxonNameBase.getRelationsToThisName()
,
ITaxonNameBase.getNameRelations()
,
#addRelationshipFromName(TaxonName, NameRelationshipType, String)
,
#addNameRelationship(NameRelationship)
public NameRelationship addRelationshipFromName(TaxonName fromName, NameRelationshipType type, java.lang.String ruleConsidered, NomenclaturalCodeEdition codeEdition)
ITaxonNameBase
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 basedITaxonNameBase.getRelationsFromThisName()
,
ITaxonNameBase.getNameRelations()
,
#addRelationshipToName(TaxonName, NameRelationshipType, String)
,
#addNameRelationship(NameRelationship)
public NameRelationship addRelationshipFromName(TaxonName fromName, NameRelationshipType type, Reference citation, java.lang.String microCitation, java.lang.String ruleConsidered, NomenclaturalCodeEdition codeEdition)
ITaxonNameBase
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 relationshipcitation
- the reference in which this relation was describedmicroCitation
- the reference detail for this relation (e.g. page)ruleConsidered
- the string which specifies the rule on which this name relationship is basedITaxonNameBase.getRelationsFromThisName()
,
ITaxonNameBase.getNameRelations()
,
#addRelationshipToName(TaxonName, 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(TaxonName, NameRelationshipType, String)
,
#addRelationshipFromName(TaxonName, 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(TaxonName toTaxonName)
removeRelationToTaxonName
in interface ITaxonNameBase
public void removeRelationWithTaxonName(TaxonName otherTaxonName, RelationshipBase.Direction direction, NameRelationshipType type)
@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 java.util.Set<NameRelationship> getRelationsFromThisName()
name relationships
in which this taxon name is involved as a source ("from"-side).getRelationsFromThisName
in interface ITaxonNameBase
getNameRelations()
,
getRelationsToThisName()
,
#addRelationshipFromName(TaxonName, NameRelationshipType, String)
public java.util.Set<NameRelationship> getRelationsToThisName()
name relationships
in which this taxon name is involved as a target ("to"-side).getRelationsToThisName
in interface ITaxonNameBase
getNameRelations()
,
getRelationsFromThisName()
,
#addRelationshipToName(TaxonName, NameRelationshipType, String)
public java.util.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, java.lang.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()
public void setStatus(java.util.Set<NomenclaturalStatus> nomStatus) throws EntityCollectionSetterAdapter.SetterAdapterException
protected java.lang.String generateNameCache()
INonViralNameCacheStrategy
.
The result might be stored in nameCache
if the
flag protectedNameCache
is not set.getNameCache()
public java.lang.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(java.lang.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(java.lang.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 TaxonName 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 java.util.Set<TaxonName> 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 java.util.Set<TaxonName> getRelatedNames(RelationshipBase.Direction direction, NameRelationshipType type)
direction
- type
- @Deprecated public NameRelationship addOriginalSpelling(TaxonName originalSpelling, Reference citation, java.lang.String microcitation)
addOriginalSpelling
in interface ITaxonNameBase
public NameRelationship addBasionym(TaxonName 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 as 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(TaxonName, String)
public NameRelationship addBasionym(TaxonName basionym, Reference citation, java.lang.String microcitation, java.lang.String ruleConsidered, NomenclaturalCodeEdition codeEdition)
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 as 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 rulecodeEdition
- the edition of the nomenclatural code where the ruleConsidered
has been published.getBasionym()
,
addBasionym(TaxonName)
public java.util.Set<TaxonName> getReplacedSynonyms()
replaced synonyms
of this taxon name.getReplacedSynonyms
in interface ITaxonNameBase
public void addReplacedSynonym(TaxonName replacedSynonym, Reference citation, java.lang.String microcitation, java.lang.String ruleConsidered, NomenclaturalCodeEdition codeEdition)
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 rulecodeEdition
- the edition of the nomenclatural code where the ruleConsidered
has been published.getBasionym()
,
addBasionym(TaxonName)
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(TaxonName)
public void removeNameRelations(RelationshipBase.Direction direction, NameRelationshipType type)
relationships
of the given type
from the set of
relations in the specified direction
direction wich are related from or to this
this taxon name. The same relationship will be removed from the set of
reverse relations of the other taxon name.direction
- type
- protected java.util.Set<NameRelationship> relationsWithThisName(RelationshipBase.Direction direction)
direction
- public Rank getRank()
rank
of this taxon name.getRank
in interface ITaxonNameBase
Rank
public void setRank(Rank rank)
setRank
in interface ITaxonNameBase
getRank()
public Reference getNomenclaturalReference()
ITaxonNameBase
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
Reference
,
ITaxonNameBase.getNomenclaturalSource()
public DescriptionElementSource getNomenclaturalSource()
ITaxonNameBase
getNomenclaturalSource
in interface ITaxonNameBase
ITaxonNameBase.getNomenclaturalReference()
,
ITaxonNameBase.getNomenclaturalMicroReference()
protected DescriptionElementSource getNomenclaturalSource(boolean createIfNotExist)
public void setNomenclaturalReference(Reference 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.
Shortcut to set the nomenclatural reference.setNomenclaturalReference
in interface ITaxonNameBase
java.lang.IllegalArgumentException
- if parameter nomenclaturalReference
is not assignable from INomenclaturalReference
getNomenclaturalReference()
public void setNomenclaturalReference(INomenclaturalReference nomenclaturalReference)
ITaxonNameBase
setNomenclaturalReference
in interface ITaxonNameBase
ITaxonNameBase.setNomenclaturalReference(Reference)
public void setNomenclaturalSource(DescriptionElementSource nomenclaturalSource) throws java.lang.IllegalArgumentException
ITaxonNameBase
setNomenclaturalSource
in interface ITaxonNameBase
java.lang.IllegalArgumentException
public java.lang.String getAppendedPhrase()
getAppendedPhrase
in interface ITaxonNameBase
public void setAppendedPhrase(java.lang.String appendedPhrase)
setAppendedPhrase
in interface ITaxonNameBase
getAppendedPhrase()
public java.lang.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
ITaxonNameBase.getNomenclaturalReference()
,
ITaxonNameBase.getNomenclaturalSource()
public void setNomenclaturalMicroReference(java.lang.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 java.util.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 java.util.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 java.util.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(TaxonName typeSpecies, Reference citation, java.lang.String citationMicroReference, java.lang.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(TaxonName typeSpecies, Reference citation, java.lang.String citationMicroReference, java.lang.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 java.util.Set<SpecimenTypeDesignation> getSpecimenTypeDesignations()
specimen type designations
that typify this taxon name.getSpecimenTypeDesignations
in interface ITaxonNameBase
public SpecimenTypeDesignation addSpecimenTypeDesignation(DerivedUnit typeSpecimen, SpecimenTypeDesignationStatus status, Reference citation, java.lang.String citationMicroReference, java.lang.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 TextualTypeDesignation addTextualTypeDesignation(java.lang.String text, Language language, boolean isVerbatim, Reference citation, java.lang.String citationMicroReference, java.lang.String originalNameString, boolean addToAllHomotypicNames)
ITaxonNameBase
textual type designation
to this taxon name's set of type designations.addTextualTypeDesignation
in interface ITaxonNameBase
text
- the textlanguage
- the language of the text, if no language is defined Language.UNDETERMINED()
is usedisVerbatim
- wether or not this the text is a verbatim text from a referencecitation
- 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 designationaddToAllHomotypicNames
- the boolean indicating whether the specimen type designation should bepublic 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 tojava.lang.IllegalArgumentException
- 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 java.lang.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 java.util.List<ParserProblem> getParsingProblems()
getParsingProblems
in interface IParsable
@ValidTaxonomicYear(groups=Level3.class) public java.lang.String getReferenceYear()
nomenclatural reference
for this taxon name, null if there is
no nomenclatural reference.getReferenceYear
in interface ITaxonNameBase
INomenclaturalReference.getYear()
public java.util.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 java.util.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 java.util.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 java.util.Set<Registration> getRegistrations()
ITaxonNameBase
registrations
for the given name.getRegistrations
in interface ITaxonNameBase
public java.util.List<HybridRelationship> getOrderedChildRelationships()
getOrderedChildRelationships
in interface INonViralName
getHybridParentRelations()
public HybridRelationship addHybridParent(INonViralName parentName, HybridRelationshipType type, java.lang.String ruleConsidered)
INonViralName
hybrid relationship
to this non viral name. A HybridRelationship may be of type
"is first/second parent" or "is male/female parent". By invoking this
method this non viral name becomes a hybrid child of the parent
non viral name.addHybridParent
in interface INonViralName
parentName
- the non viral 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(TaxonName, HybridRelationshipType,String )
,
ITaxonNameBase.getRelationsToThisName()
,
ITaxonNameBase.getNameRelations()
,
#addRelationshipFromName(TaxonName, NameRelationshipType, String)
,
#addNameRelationship(NameRelationship)
public HybridRelationship addHybridParent(INonViralName parentName, HybridRelationshipType type, Reference reference, java.lang.String microReference, java.lang.String ruleConsidered, NomenclaturalCodeEdition codeEdition)
INonViralName
hybrid relationship
to this non viral name. A HybridRelationship may be of type
"is first/second parent" or "is male/female parent". By invoking this
method this non viral name becomes a hybrid child of the parent
non viral name.addHybridParent
in interface INonViralName
parentName
- the non viral name of the parent for this new hybrid name relationshiptype
- the type of this new name relationshipreference
- the reference for this relationshipmicroReference
- the micro reference (e.g. page no.) of this relationshipruleConsidered
- the string which specifies the rule on which this name relationship is based#addHybridChild(TaxonName, HybridRelationshipType,String )
,
ITaxonNameBase.getRelationsToThisName()
,
ITaxonNameBase.getNameRelations()
,
#addRelationshipFromName(TaxonName, NameRelationshipType, String)
,
#addNameRelationship(NameRelationship)
public HybridRelationship addHybridChild(INonViralName childName, HybridRelationshipType type, java.lang.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(TaxonName, NameRelationshipType, String)
,
addNameRelationship(NameRelationship)
public void removeHybridChild(INonViralName child)
removeHybridChild
in interface INonViralName
public void removeHybridParent(INonViralName parent)
removeHybridParent
in interface INonViralName
public java.util.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 IDescribable<TaxonNameDescription>
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 IDescribable<TaxonNameDescription>
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 IDescribable<TaxonNameDescription>
removeDescription
in interface ITaxonNameBase
description
- the taxon name description which should be removedgetDescriptions()
,
addDescription(TaxonNameDescription)
,
TaxonNameDescription.getTaxonName()
public void mergeHomotypicGroups(TaxonName name)
mergeHomotypicGroups
in interface ITaxonNameBase
public boolean isHomotypic(TaxonName 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(TaxonName newCombinationName)
isBasionymFor
in interface ITaxonNameBase
fromName
- toName
- public void makeGroupsBasionym()
makeGroupsBasionym
in interface ITaxonNameBase
HomotypicalGroup.setGroupBasionym(TaxonName 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 isGenusOrSupraGeneric()
ITaxonNameBase
rank
of this
taxon name is the genus rank or higher (true
) or not (false
).
Non viral names with
genus rank or higher are monomials. Returns false if rank is null.ITaxonNameBase.isGenus()
|| ITaxonNameBase.isSupraGeneric()
isGenusOrSupraGeneric
in interface ITaxonNameBase
ITaxonNameBase.isGenus()
,
ITaxonNameBase.isSupraGeneric()
,
ITaxonNameBase.isInfraGeneric()
,
ITaxonNameBase.isSpecies()
,
ITaxonNameBase.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()
@Deprecated public NomenclaturalCode getNomenclaturalCode()
getNameType()
insteadnomenclatural 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.#isCodeCompliant()
,
#getHasProblem()
public void setAsGroupsBasionym()
setAsGroupsBasionym
in interface ITaxonNameBase
basionymName
- public void removeAsGroupsBasionym()
removeAsGroupsBasionym
in interface ITaxonNameBase
basionymName
- public java.lang.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(TaxonName 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(TaxonName)
,
TaxonNameComparator
,
TaxonComparator
public static TaxonName castAndDeproxy(ITaxonNameBase interfacedName)
interfacedName
- castAndDeproxy(Set)
public static java.util.Set<TaxonName> castAndDeproxy(java.util.Set<ITaxonNameBase> naminterfacedNames)
naminterfacedNames
- castAndDeproxy(ITaxonNameBase)
public boolean isNonViral()
ITaxonNameBase
true
if this name is of type NomenclaturalCode.NonViral
or
any sub type and is supposed to be handled via INonViralName
isNonViral
in interface ITaxonNameBase
public boolean isZoological()
ITaxonNameBase
true
if this name is of type NomenclaturalCode.ICZN
or
any sub type and is supposed to be handled via IZoologicalName
isZoological
in interface ITaxonNameBase
public boolean isBotanical()
ITaxonNameBase
true
if this name is of type NomenclaturalCode.ICNAFP
or
any sub type and is supposed to be handled via IBotanicalName
isBotanical
in interface ITaxonNameBase
public boolean isCultivar()
ITaxonNameBase
true
if this name is of type NomenclaturalCode.ICNCP
or
any sub type and is supposed to be handled via ICultivarPlantName
isCultivar
in interface ITaxonNameBase
public boolean isBacterial()
ITaxonNameBase
true
if this name is of type NomenclaturalCode.ICNB
or
any sub type and is supposed to be handled via IBacterialName
isBacterial
in interface ITaxonNameBase
public boolean isViral()
ITaxonNameBase
true
if this name is of type NomenclaturalCode.ICVCN
or
any sub type and is supposed to be handled via IViralName
isViral
in interface ITaxonNameBase
public boolean updateCaches()
updateCaches
in class IdentifiableEntity<INameCacheStrategy>
public java.lang.Object clone()
Name descriptions
are cloned and not reused.Type designations
are cloned and not reused.clone
in interface ITaxonNameBase
clone
in class IdentifiableEntity<INameCacheStrategy>
eu.etaxonomy.cdm.model.media.IdentifiableEntity#clone()
,
Object.clone()
Copyright © 2007-2020 EDIT. All Rights Reserved.