eu.etaxonomy.cdm.model.taxon
Class Taxon

java.lang.Object
  extended by eu.etaxonomy.cdm.model.common.CdmBase
      extended by eu.etaxonomy.cdm.model.common.VersionableEntity
          extended by eu.etaxonomy.cdm.model.common.AnnotatableEntity
              extended by eu.etaxonomy.cdm.model.common.IdentifiableEntity<S>
                  extended by eu.etaxonomy.cdm.model.taxon.TaxonBase<IIdentifiableEntityCacheStrategy<Taxon>>
                      extended by eu.etaxonomy.cdm.model.taxon.Taxon
All Implemented Interfaces:
IAnnotatableEntity, ICdmBase, IIdentifiableEntity, IRelated<RelationshipBase>, ISourceable<IdentifiableSource>, IVersionableEntity, Serializable, Cloneable

@Entity
@Indexed(index="eu.etaxonomy.cdm.model.taxon.TaxonBase")
@Configurable
@ClassBridge(impl=GroupByTaxonClassBridge.class)
public class Taxon
extends TaxonBase<IIdentifiableEntityCacheStrategy<Taxon>>
implements IRelated<RelationshipBase>, Cloneable

The class for "accepted/correct" taxa (only these taxa according to the opinion of the reference can build a classification). An interface is supported to iterate through taxonomic children.
Splitting taxa in "accepted/correct" and "synonyms" makes it easier to handle particular relationships between ("accepted/correct") taxa on the one hand and between ("synonym") taxa and ("accepted/correct") taxa on the other.

Version:
1.0
Author:
m.doering
See Also:
Serialized Form

Field Summary
 
Fields inherited from class eu.etaxonomy.cdm.model.common.IdentifiableEntity
cacheStrategy, NOT_PROTECTED, PROTECTED, protectedTitleCache, titleCache
 
Fields inherited from class eu.etaxonomy.cdm.model.common.AnnotatableEntity
annotations, markers
 
Fields inherited from class eu.etaxonomy.cdm.model.common.CdmBase
uuid
 
Constructor Summary
Taxon()
          Deprecated. 
Taxon(TaxonNameBase taxonNameBase, Reference sec)
          Class constructor: creates a new (accepted/correct) taxon instance with the taxon name used and the reference using it.
 
Method Summary
 void addDescription(TaxonDescription description)
          Adds a new taxon description to the set of taxon descriptions assigned to this (accepted/correct) taxon.
 SynonymRelationship addHeterotypicSynonymName(TaxonNameBase synonymName)
          Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym and with the "is heterotypic synonym of" relationship type), returns the relationship and adds it to the set of synonym relationships assigned to this taxon.
 SynonymRelationship addHeterotypicSynonymName(TaxonNameBase synonymName, HomotypicalGroup homotypicalGroup, Reference citation, String microCitation)
          Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym, with the "is heterotypic synonym of" relationship type and with the reference source on which the relationship assertion is based), returns the relationship and adds it to the set of synonym relationships assigned to this taxon.
 SynonymRelationship addHomotypicSynonym(Synonym synonym, Reference citation, String microCitation)
          Creates a new synonym relationship (with the given synonym, with the "is homotypic synonym of" relationship type and with the reference source on which the relationship assertion is based), returns it and adds it to the set of synonym relationships assigned to this taxon.
 SynonymRelationship addHomotypicSynonymName(TaxonNameBase synonymName, Reference citation, String microCitation)
          Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym, with the "is homotypic synonym of" relationship type) and with the reference source on which the relationship assertion is based), returns the relationship and adds it to the set of synonym relationships assigned to this taxon.
 TaxonRelationship addMisappliedName(Taxon misappliedNameTaxon, Reference citation, String microcitation)
          Creates a new taxon relationship (with taxon relationship type "misapplied name for") instance where this taxon plays the target role and adds it to the set of taxon relationships to this taxon.
 void addRelationship(RelationshipBase rel)
          Deprecated. 
 SynonymRelationship addSynonym(Synonym synonym, SynonymRelationshipType synonymType)
          Creates a new synonym relationship (with the given synonym and with the given synonym relationship type), returns it and adds it to the set of synonym relationships assigned to this taxon.
 SynonymRelationship addSynonym(Synonym synonym, SynonymRelationshipType synonymType, Reference citation, String citationMicroReference)
          Creates a new synonym relationship (with the given synonym, with the given synonym relationship type and with the reference source on which the relationship assertion is based), returns it and adds it to the set of synonym relationships assigned to this taxon.
 SynonymRelationship addSynonymName(TaxonNameBase synonymName, SynonymRelationshipType synonymType)
          Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym and with the given synonym relationship type), returns the relationship and adds it to the set of synonym relationships assigned to this taxon.
 SynonymRelationship addSynonymName(TaxonNameBase synonymName, SynonymRelationshipType synonymType, Reference citation, String citationMicroReference)
          Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym, with the given synonym relationship type and with the reference source on which the relationship assertion is based), returns the relationship and adds it to the set of synonym relationships assigned to this taxon.
protected  void addSynonymRelation(SynonymRelationship synonymRelation)
          Adds an existing synonym relationship to the set of synonym relationships assigned to this taxon.
protected  void addTaxonNode(TaxonNode taxonNode)
           
 void addTaxonomicChild(Taxon child, Reference citation, String microcitation)
          Deprecated. 
 void addTaxonRelation(TaxonRelationship rel)
          Adds an existing taxon relationship either to the set of taxon relationships to this taxon or to the set of taxon relationships from this taxon.
 TaxonRelationship addTaxonRelation(Taxon toTaxon, TaxonRelationshipType type, Reference citation, String microcitation)
          Creates a new taxon relationship instance where this taxon plays the source role and adds it to the set of "taxon relationships from" belonging to this taxon.
 Object clone()
          Clones this taxon.
 Set<TaxonDescription> getDescriptions()
          Returns the set of taxon descriptions concerning this taxon.
 List<HomotypicalGroup> getHeterotypicSynonymyGroups()
          Returns the ordered list of all homotypical groups that contain synonyms that are heterotypic to this taxon.
 List<Synonym> getHomotypicSynonymsByHomotypicGroup()
          Retrieves the ordered list (depending on the date of publication) of homotypic synonyms (according to the same reference as for this taxon) under the condition that the taxon names of these synonyms and the taxon name of this taxon belong to the same homotypical group.
 List<Synonym> getHomotypicSynonymsByHomotypicRelationship()
          Retrieves the ordered list (depending on the date of publication) of homotypic synonyms (according to the same reference as for this taxon) under the condition that these synonyms and this taxon are involved in synonym relationships with an "is homotypic synonym of" synonym relationship type.
 List<HomotypicalGroup> getHomotypicSynonymyGroups()
          Returns the ordered list of all homotypical groups synonyms of this taxon belong to.
 TaxonDescription getImageGallery(boolean createNewIfNotExists)
          Returns the image gallery for a taxon.
 Set<Taxon> getMisappliedNames()
          Returns the set of taxa playing the source role in taxon relationships (with taxon relationship type "misapplied name for") where this taxon plays the target role.
 TaxonDescription getOrCreateImageGallery(String title)
          Returns the image gallery description.
 TaxonDescription getOrCreateImageGallery(String title, boolean addImageGalleryToTitle, boolean onlyTitle)
          Returns the image gallery description.
 Set<TaxonRelationship> getRelationsFromThisTaxon()
          Returns the set of all taxon relationships between two taxa in which this taxon is involved as a source.
 Set<TaxonRelationship> getRelationsToThisTaxon()
          Returns the set of all taxon relationships between two taxa in which this taxon is involved as a target.
 Set<TaxonNameBase> getSynonymNames()
          Returns the set of all taxon names used as synonyms of this ("accepted/correct") taxon.
 Set<SynonymRelationship> getSynonymRelations()
          Returns the set of all synonym relationships in which this ("accepted/correct") taxon is involved.
 Set<Synonym> getSynonyms()
          Returns the set of all synonyms of this ("accepted/correct") taxon.
 List<Synonym> getSynonymsInGroup(HomotypicalGroup homotypicGroup)
          Retrieves the ordered list (depending on the date of publication) of synonyms (according to a given reference) the taxon names of which belong to the homotypical group.
 Set<Synonym> getSynonymsSortedByType()
          Returns the set of all synonyms of this ("accepted/correct") taxon sorted by the different categories of synonym relationships.
 Set<Taxon> getTaxonForMisappliedName()
          Returns the set of taxa playing the target role in taxon relationships (with taxon relationship type "misapplied name for") where this taxon plays the source role.
 Set<TaxonNode> getTaxonNodes()
           
 Set<Taxon> getTaxonomicChildren()
          Deprecated. 
 int getTaxonomicChildrenCount()
          Deprecated. 
 Taxon getTaxonomicParent()
          Deprecated. 
 Set<TaxonRelationship> getTaxonRelations()
          Returns the set of all taxon relationships between two taxa in which this taxon is involved either as a source or as a target.
 Set<TaxonRelationship> getTaxonRelations(Taxon possiblyRelatedTaxon)
          If a relationships between this and the given taxon exists they will be returned.
 boolean hasSynonyms()
          Returns the boolean value indicating whether this taxon has at least one synonym (true) or not (false).
 boolean hasTaxonomicChildren()
          Deprecated. 
 boolean hasTaxonRelationships()
          Returns the boolean value indicating whether this taxon is at least involved in one taxon relationship between two taxa (true), either as a source or as a target, or not (false).
 boolean isExcluded()
           
 boolean isMisapplication()
          Returns the boolean value indicating whether this taxon is a misaplication (misapplied name) for at least one other taxon.
 boolean isOrphaned()
           
 boolean isRelatedConcept()
          Returns the boolean value indicating whether this taxon is a related concept for at least one other taxon.
 boolean isTaxonStatusUnknown()
          The status of this taxon is unknown it could also be some kind of synonym.
 boolean isUnplaced()
           
static Taxon NewInstance(TaxonNameBase taxonNameBase, Reference sec)
          Creates a new (accepted/correct) taxon instance with the taxon name used and the reference using it.
static Taxon NewUnknownStatusInstance(TaxonNameBase taxonNameBase, Reference sec)
          Creates a new taxon instance with an unknown status (accepted/synonym) and with the taxon name used and the reference using it.
 void nullifyTaxonomicParent()
          Deprecated. 
 void removeDescription(TaxonDescription description)
          Removes one element from the set of taxon descriptions assigned to this (accepted/correct) taxon.
 void removeSynonym(Synonym synonym)
          Like removeSynonym(Synonym, boolean) with removeSynonymNameFromHomotypicalGroup set to true.
 void removeSynonym(Synonym synonym, boolean removeSynonymNameFromHomotypicalGroup)
          Removes the element(s) from the set of synonym relationships assigned to this ("accepted/valid") taxon in which the given synonym is involved.
 void removeSynonymRelation(SynonymRelationship synonymRelation)
          Like removeSynonymRelation(SynonymRelationship, boolean) but synonym name will be deleted from homotypical group by default
 void removeSynonymRelation(SynonymRelationship synonymRelation, boolean removeSynonymNameFromHomotypicalGroup)
          Removes one element from the set of synonym relationships assigned to this (accepted/correct) taxon.
 void removeTaxon(Taxon taxon, TaxonRelationshipType taxonRelType)
          TODO update documentation Removes one taxon relationship with taxon relationship type taxonRelType and with the given child taxon playing the source role from the set of "taxon relationships to" belonging to this taxon.
protected  void removeTaxonNode(TaxonNode taxonNode)
           
 void removeTaxonomicChild(Taxon child)
          Deprecated. 
 void removeTaxonRelation(TaxonRelationship rel)
          Removes one taxon relationship from one of both sets of taxon relationships in which this taxon is involved either as a source or as a target.
 void setExcluded(boolean excluded)
           
protected  void setRelationsFromThisTaxon(Set<TaxonRelationship> relationsFromThisTaxon)
           
protected  void setRelationsToThisTaxon(Set<TaxonRelationship> relationsToThisTaxon)
           
 void setTaxonomicChildrenCount(int taxonomicChildrenCount)
          Deprecated. 
 void setTaxonomicParent(Taxon newParent, Reference citation, String microcitation)
          Deprecated. 
 void setTaxonStatusUnknown(boolean taxonStatusUnknown)
           
 void setUnplaced(boolean unplaced)
           
 
Methods inherited from class eu.etaxonomy.cdm.model.taxon.TaxonBase
getAppendedPhrase, getHomotypicGroup, getName, getSec, isDoubtful, isUseNameCache, setAppendedPhrase, setDoubtful, setName, setSec, setUseNameCache
 
Methods inherited from class eu.etaxonomy.cdm.model.common.IdentifiableEntity
addCredit, addCredit, addExtension, addExtension, addRights, addSource, addSource, compareTo, generateTitle, getCacheStrategy, getCredits, getCredits, getData, getExtensions, getExtensions, getExtensions, getLsid, getRights, getSources, getTitleCache, getTruncatedCache, initListener, isProtectedTitleCache, regenerateTitleCache, removeCredit, removeCredit, removeExtension, removeRights, removeSource, setCacheStrategy, setLsid, setProtectedTitleCache, setTitleCache, setTitleCache, toString
 
Methods inherited from class eu.etaxonomy.cdm.model.common.AnnotatableEntity
addAnnotation, addMarker, getAnnotations, getMarkers, hasMarker, hasMarker, removeAnnotation, removeMarker
 
Methods inherited from class eu.etaxonomy.cdm.model.common.VersionableEntity
equals, getUpdated, getUpdatedBy, setUpdated, setUpdatedBy
 
Methods inherited from class eu.etaxonomy.cdm.model.common.CdmBase
addPropertyChangeListener, addPropertyChangeListener, clone, deproxy, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getCreated, getCreatedBy, getId, getUuid, hashCode, hasListeners, instanceToString, invokeSetMethod, invokeSetMethodWithNull, isInstanceOf, removePropertyChangeListener, removePropertyChangeListener, setCreated, setCreatedBy, setId, setUuid
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface eu.etaxonomy.cdm.model.common.IRelated
getUuid
 
Methods inherited from interface eu.etaxonomy.cdm.model.common.IAnnotatableEntity
addAnnotation, addMarker, getAnnotations, getMarkers, hasMarker, hasMarker, removeAnnotation, removeMarker
 
Methods inherited from interface eu.etaxonomy.cdm.model.common.IVersionableEntity
getUpdated, getUpdatedBy, setUpdated, setUpdatedBy
 
Methods inherited from interface eu.etaxonomy.cdm.model.common.ICdmBase
getCreated, getCreatedBy, getId, getUuid, setCreated, setCreatedBy, setId, setUuid
 

Constructor Detail

Taxon

@Deprecated
public Taxon()
Deprecated. 


Taxon

public Taxon(TaxonNameBase taxonNameBase,
             Reference sec)
Class constructor: creates a new (accepted/correct) taxon instance with the taxon name used and the reference using it.

Parameters:
taxonNameBase - the taxon name used
sec - the reference using the taxon name
See Also:
TaxonBase.TaxonBase(TaxonNameBase, Reference)
Method Detail

NewInstance

public static Taxon NewInstance(TaxonNameBase taxonNameBase,
                                Reference sec)
Creates a new (accepted/correct) taxon instance with the taxon name used and the reference using it.

Parameters:
taxonNameBase - the taxon name used
sec - the reference using the taxon name
See Also:
Taxon(TaxonNameBase, Reference)

NewUnknownStatusInstance

public static Taxon NewUnknownStatusInstance(TaxonNameBase taxonNameBase,
                                             Reference sec)
Creates a new taxon instance with an unknown status (accepted/synonym) and with the taxon name used and the reference using it.

Parameters:
taxonNameBase - the taxon name used
sec - the reference using the taxon name
See Also:
Taxon(TaxonNameBase, Reference)

getDescriptions

public Set<TaxonDescription> getDescriptions()
Returns the set of taxon descriptions concerning this taxon.

See Also:
removeDescription(TaxonDescription), addDescription(TaxonDescription), TaxonDescription.getTaxon()

addDescription

public void addDescription(TaxonDescription description)
Adds a new taxon description to the set of taxon descriptions assigned to this (accepted/correct) taxon. Due to bidirectionality the content of the taxon attribute of the taxon description itself will be replaced with this taxon. The taxon description will also be removed from the set of taxon descriptions assigned to its previous taxon.

Parameters:
description - the taxon description to be added for this taxon
See Also:
getDescriptions(), removeDescription(TaxonDescription), TaxonDescription.getTaxon()

removeDescription

public void removeDescription(TaxonDescription description)
Removes one element from the set of taxon descriptions assigned to this (accepted/correct) taxon. Due to bidirectionality the content of the taxon attribute of the taxon description itself will be set to "null".

Parameters:
description - the taxon description which should be removed
See Also:
getDescriptions(), addDescription(TaxonDescription), TaxonDescription.getTaxon()

getImageGallery

public TaxonDescription getImageGallery(boolean createNewIfNotExists)
Returns the image gallery for a taxon. If there are multiple taxon descriptions marked as image galleries an arbitrary one is chosen. If no image gallery exists, a new one is created if createNewIfNotExists is true.

Parameters:
createNewIfNotExists -
Returns:

getTaxonNodes

public Set<TaxonNode> getTaxonNodes()

addTaxonNode

protected void addTaxonNode(TaxonNode taxonNode)

removeTaxonNode

protected void removeTaxonNode(TaxonNode taxonNode)

getSynonymRelations

public Set<SynonymRelationship> getSynonymRelations()
Returns the set of all synonym relationships in which this ("accepted/correct") taxon is involved. This taxon can only be the target of these synonym relationships.

See Also:
addSynonymRelation(SynonymRelationship), removeSynonymRelation(SynonymRelationship), getSynonyms()

addSynonymRelation

protected void addSynonymRelation(SynonymRelationship synonymRelation)
Adds an existing synonym relationship to the set of synonym relationships assigned to this taxon. If the target of the synonym relationship does not match with this taxon no addition will be carried out.

Parameters:
synonymRelation - the synonym relationship to be added to this taxon's synonym relationships set
See Also:
getSynonymRelations(), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String)

removeSynonymRelation

public void removeSynonymRelation(SynonymRelationship synonymRelation,
                                  boolean removeSynonymNameFromHomotypicalGroup)
Removes one element from the set of synonym relationships assigned to this (accepted/correct) taxon. Due to bidirectionality the given synonym relationship will also be removed from the set of synonym relationships assigned to the synonym involved in the relationship. Furthermore the content of the accepted taxon attribute and of the synonym attribute within the synonym relationship itself will be set to "null".

Parameters:
synonymRelation - the synonym relationship which should be deleted
removeSynonymNameFromHomotypicalGroup - if true the synonym name will also be deleted from its homotypical group if the group contains other names
See Also:
getSynonymRelations(), addSynonymRelation(SynonymRelationship), removeSynonym(Synonym)

removeSynonymRelation

public void removeSynonymRelation(SynonymRelationship synonymRelation)
Like removeSynonymRelation(SynonymRelationship, boolean) but synonym name will be deleted from homotypical group by default

Parameters:
synonymRelation - the synonym relationship which should be deleted
See Also:
removeSynonymRelation(SynonymRelationship, boolean)

getRelationsFromThisTaxon

public Set<TaxonRelationship> getRelationsFromThisTaxon()
Returns the set of all taxon relationships between two taxa in which this taxon is involved as a source.

See Also:
getRelationsToThisTaxon(), getTaxonRelations()

getRelationsToThisTaxon

public Set<TaxonRelationship> getRelationsToThisTaxon()
Returns the set of all taxon relationships between two taxa in which this taxon is involved as a target.

See Also:
getRelationsFromThisTaxon(), getTaxonRelations()

setRelationsToThisTaxon

protected void setRelationsToThisTaxon(Set<TaxonRelationship> relationsToThisTaxon)
See Also:
getRelationsToThisTaxon()

setRelationsFromThisTaxon

protected void setRelationsFromThisTaxon(Set<TaxonRelationship> relationsFromThisTaxon)
See Also:
getRelationsFromThisTaxon()

getTaxonRelations

public Set<TaxonRelationship> getTaxonRelations()
Returns the set of all taxon relationships between two taxa in which this taxon is involved either as a source or as a target.

See Also:
getRelationsFromThisTaxon(), getRelationsToThisTaxon()

getTaxonRelations

public Set<TaxonRelationship> getTaxonRelations(Taxon possiblyRelatedTaxon)
If a relationships between this and the given taxon exists they will be returned. This taxon is involved either as a source or as a target in the relationships. The method will return null if no relations exist between the two taxa.

Parameters:
possiblyRelatedTaxon - a taxon to check for a relationship
Returns:
a set of TaxonRelationships or null if none exists.

removeTaxonRelation

public void removeTaxonRelation(TaxonRelationship rel)
Removes one taxon relationship from one of both sets of taxon relationships in which this taxon is involved either as a source or as a target. The taxon relationship will also be removed from one of both sets belonging to the second taxon involved. Furthermore the inherited RelatedFrom and RelatedTo attributes of the given taxon relationship will be nullified.

If the taxon relationship concerns the classification possible modifications of the parent taxon or of the number of childrens will be stored.

Parameters:
rel - the taxon relationship which should be removed from one of both sets
See Also:
getTaxonRelations(), getTaxonomicParent(), getTaxonomicChildrenCount(), RelationshipBase.getRelatedFrom(), RelationshipBase.getRelatedTo()

addTaxonRelation

public void addTaxonRelation(TaxonRelationship rel)
Adds an existing taxon relationship either to the set of taxon relationships to this taxon or to the set of taxon relationships from this taxon. If neither the source nor the target of the taxon relationship match with this taxon no addition will be carried out. The taxon relationship will also be added to the second taxon involved in the given relationship.

If the taxon relationship concerns the classification possible modifications of the parent taxon or of the number of childrens will be stored.

Parameters:
rel - the taxon relationship to be added to one of this taxon's taxon relationships sets
See Also:
addTaxonRelation(Taxon, TaxonRelationshipType, Reference, String), getTaxonRelations(), getRelationsFromThisTaxon(), getRelationsToThisTaxon(), getTaxonomicParent(), getTaxonomicChildrenCount()

addRelationship

@Deprecated
public void addRelationship(RelationshipBase rel)
Deprecated. 

Specified by:
addRelationship in interface IRelated<RelationshipBase>

addTaxonRelation

public TaxonRelationship addTaxonRelation(Taxon toTaxon,
                                          TaxonRelationshipType type,
                                          Reference citation,
                                          String microcitation)
Creates a new taxon relationship instance where this taxon plays the source role and adds it to the set of "taxon relationships from" belonging to this taxon. The taxon relationship will also be added to the set of taxon relationships to the second taxon involved in the created relationship.

If the taxon relationship concerns the classification possible modifications of the parent taxon or of the number of childrens will be stored.

Parameters:
toTaxon - the taxon which plays the target role in the new taxon relationship
type - the taxon relationship type for the new taxon relationship
citation - the reference source for the new taxon relationship
microcitation - the string with the details describing the exact localisation within the reference
Returns:
See Also:
addTaxonRelation(TaxonRelationship), getTaxonRelations(), getRelationsFromThisTaxon(), getRelationsToThisTaxon(), getTaxonomicParent(), getTaxonomicChildrenCount()

addMisappliedName

public TaxonRelationship addMisappliedName(Taxon misappliedNameTaxon,
                                           Reference citation,
                                           String microcitation)
Creates a new taxon relationship (with taxon relationship type "misapplied name for") instance where this taxon plays the target role and adds it to the set of taxon relationships to this taxon. The taxon relationship will also be added to the set of taxon relationships to the other (misapplied name) taxon involved in the created relationship.

Parameters:
misappliedNameTaxon - the taxon which plays the target role in the new taxon relationship
citation - the reference source for the new taxon relationship
microcitation - the string with the details describing the exact localisation within the reference
Returns:
See Also:
getMisappliedNames(), addTaxonRelation(Taxon, TaxonRelationshipType, Reference, String), addTaxonRelation(TaxonRelationship), getTaxonRelations(), getRelationsFromThisTaxon(), getRelationsToThisTaxon()

removeTaxon

public void removeTaxon(Taxon taxon,
                        TaxonRelationshipType taxonRelType)
TODO update documentation Removes one taxon relationship with taxon relationship type taxonRelType and with the given child taxon playing the source role from the set of "taxon relationships to" belonging to this taxon. The taxon relationship will also be removed from the set of "taxon relationships from" belonging to the other side taxon. Furthermore, the inherited RelatedFrom and RelatedTo attributes of the taxon relationship will be nullified.

Parameters:
taxon - the taxon which plays the source role in the taxon relationship
taxonRelType - the taxon relationship type

addTaxonomicChild

@Deprecated
public void addTaxonomicChild(Taxon child,
                                         Reference citation,
                                         String microcitation)
Deprecated. 

Creates a new taxon relationship (with taxon relationship type "taxonomically included in") instance where this taxon plays the target role (parent) and adds it to the set of "taxon relationships to" belonging to this taxon. The taxon relationship will also be added to the set of "taxon relationships from" belonging to the second taxon (child) involved in the created relationship.

Since the taxon relationship concerns the modifications of the number of childrens for this taxon and of the parent taxon for the child taxon will be stored. The rank of the taxon name used as a parent taxon must be higher than the rank of the taxon name used as a child taxon.

Parameters:
child - the taxon which plays the source role (child) in the new taxon relationship
citation - the reference source for the new taxon relationship
microcitation - the string with the details describing the exact localisation within the reference
See Also:
setTaxonomicParent(Taxon, Reference, String), addTaxonRelation(Taxon, TaxonRelationshipType, Reference, String), addTaxonRelation(TaxonRelationship), getTaxonRelations(), getRelationsFromThisTaxon(), getRelationsToThisTaxon(), getTaxonomicParent(), getTaxonomicChildrenCount()

removeTaxonomicChild

@Deprecated
public void removeTaxonomicChild(Taxon child)
Deprecated. 

Removes one taxon relationship with taxon relationship type "taxonomically included in" and with the given child taxon playing the source role from the set of "taxon relationships to" belonging to this taxon. The taxon relationship will also be removed from the set of "taxon relationships from" belonging to the child taxon. Furthermore the inherited RelatedFrom and RelatedTo attributes of the taxon relationship will be nullified.

Since the taxon relationship concerns the classification modifications of the number of childrens for this taxon and of the parent taxon for the child taxon will be stored.

Parameters:
child - the taxon playing the source role in the relationship to be removed
See Also:
removeTaxonRelation(TaxonRelationship), getRelationsToThisTaxon(), getRelationsFromThisTaxon(), getTaxonomicParent(), getTaxonomicChildrenCount(), RelationshipBase.getRelatedFrom(), RelationshipBase.getRelatedTo()

getTaxonomicParent

@Deprecated
public Taxon getTaxonomicParent()
Deprecated. 

Returns the taxon which is the next higher taxon (parent) of this taxon within the classification and which is stored in the TaxonomicParentCache attribute. Each taxon can have only one parent taxon. The child taxon and the parent taxon play the source respectively the target role in one taxon relationship with taxon relationship type "taxonomically included in". The rank of the taxon name used as a parent taxon must be higher than the rank of the taxon name used as a child taxon.

See Also:
setTaxonomicParent(Taxon, Reference, String), getTaxonomicChildren(), getTaxonomicChildrenCount(), getRelationsFromThisTaxon()

nullifyTaxonomicParent

@Deprecated
public void nullifyTaxonomicParent()
Deprecated. 

Sets the taxononomic parent of this taxon to null. Note that this method does not handle taxonomic relationships.


setTaxonomicParent

@Deprecated
public void setTaxonomicParent(Taxon newParent,
                                          Reference citation,
                                          String microcitation)
Deprecated. 

Replaces both the taxonomic parent cache with the given new parent taxon and the corresponding taxon relationship with a new taxon relationship (with taxon relationship type "taxonomically included in") instance. In the new taxon relationship this taxon plays the source role (child). This method creates and adds the new taxon relationship to the set of "taxon relationships from" belonging to this taxon. The taxon relationship will also be added to the set of "taxon relationships to" belonging to the second taxon (parent) involved in the new relationship.

Since the taxon relationship concerns the classification modifications of the parent taxon for this taxon and of the number of childrens for the child taxon will be stored.

Parameters:
newParent - the taxon which plays the target role (parent) in the new taxon relationship
citation - the reference source for the new taxon relationship
microcitation - the string with the details describing the exact localisation within the reference
See Also:
removeTaxonRelation(TaxonRelationship), getTaxonomicParent(), addTaxonRelation(Taxon, TaxonRelationshipType, Reference, String), addTaxonRelation(TaxonRelationship), getTaxonRelations(), getRelationsFromThisTaxon(), getRelationsToThisTaxon(), getTaxonomicChildrenCount()

getTaxonomicChildren

@Deprecated
public Set<Taxon> getTaxonomicChildren()
Deprecated. 

Returns the set of taxa which have this taxon as next higher taxon (parent) within the classification. Each taxon can have several child taxa. The child taxon and the parent taxon play the source respectively the target role in one taxon relationship with taxon relationship type "taxonomically included in". The rank of the taxon name used as a parent taxon must be higher than the rank of the taxon name used as a child taxon.

See Also:
getTaxonomicParent(), addTaxonomicChild(Taxon, Reference, String), getTaxonomicChildrenCount(), getRelationsToThisTaxon()

getTaxonomicChildrenCount

@Deprecated
public int getTaxonomicChildrenCount()
Deprecated. 

Returns the number of taxa which have this taxon as next higher taxon (parent) within the classification and the number of which is stored in the TaxonomicChildrenCount attribute. Each taxon can have several child taxa. The child taxon and the parent taxon play the source respectively the target role in one taxon relationship with taxon relationship type "taxonomically included in". The rank of the taxon name used as a parent taxon must be higher than the rank of the taxon name used as a child taxon.

See Also:
getTaxonomicChildren(), getRelationsToThisTaxon()

setTaxonomicChildrenCount

@Deprecated
public void setTaxonomicChildrenCount(int taxonomicChildrenCount)
Deprecated. 

See Also:
getTaxonomicChildrenCount()

hasTaxonomicChildren

@Deprecated
public boolean hasTaxonomicChildren()
Deprecated. 

Returns the boolean value indicating whether this taxon has at least one taxonomic child taxon within the classification (true) or not (false).

See Also:
getTaxonomicChildrenCount(), getTaxonomicChildren()

isMisapplication

public boolean isMisapplication()
Returns the boolean value indicating whether this taxon is a misaplication (misapplied name) for at least one other taxon.


isRelatedConcept

public boolean isRelatedConcept()
Returns the boolean value indicating whether this taxon is a related concept for at least one other taxon.


hasSynonyms

public boolean hasSynonyms()
Returns the boolean value indicating whether this taxon has at least one synonym (true) or not (false). If true the set of synonym relationships belonging to this ("accepted/correct") taxon is not empty .

See Also:
getSynonymRelations(), getSynonyms(), getSynonymNames(), removeSynonym(Synonym), SynonymRelationship

hasTaxonRelationships

public boolean hasTaxonRelationships()
Returns the boolean value indicating whether this taxon is at least involved in one taxon relationship between two taxa (true), either as a source or as a target, or not (false).

See Also:
getTaxonRelations(), getRelationsToThisTaxon(), getRelationsFromThisTaxon(), removeTaxonRelation(TaxonRelationship), TaxonRelationship

getMisappliedNames

public Set<Taxon> getMisappliedNames()
Returns the set of taxa playing the source role in taxon relationships (with taxon relationship type "misapplied name for") where this taxon plays the target role. A misapplied name is a taxon the taxon name of which has been erroneously used by its taxon reference to denominate the same real taxon as the one meant by this ("accepted/correct") taxon.

See Also:
getTaxonRelations(), getRelationsToThisTaxon(), addMisappliedName(Taxon, Reference, String)

getTaxonForMisappliedName

public Set<Taxon> getTaxonForMisappliedName()
Returns the set of taxa playing the target role in taxon relationships (with taxon relationship type "misapplied name for") where this taxon plays the source role. A misapplied name is a taxon the taxon name of which has been erroneously used by its taxon reference to denominate the same real taxon as the one meant by this ("accepted/correct") taxon.

See Also:
getTaxonRelations(), getRelationsToThisTaxon(), addMisappliedName(Taxon, Reference, String)

getSynonyms

public Set<Synonym> getSynonyms()
Returns the set of all synonyms of this ("accepted/correct") taxon. Each synonym is the source and this taxon is the target of a synonym relationship belonging to the set of synonym relationships assigned to this taxon. For a particular synonym and for a particular ("accepted/correct") taxon there can be several synonym relationships (if two or more synonym relationship types - for instance "pro parte synonym of" and "is homotypic synonym of" - must be combined).

See Also:
getSynonymsSortedByType(), getSynonymNames(), getSynonymRelations(), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), removeSynonymRelation(SynonymRelationship), removeSynonym(Synonym)

getSynonymsSortedByType

public Set<Synonym> getSynonymsSortedByType()
Returns the set of all synonyms of this ("accepted/correct") taxon sorted by the different categories of synonym relationships. Each synonym is the source and this taxon is the target of a synonym relationship belonging to the set of synonym relationships assigned to this taxon.

See Also:
getSynonyms(), getSynonymNames(), getSynonymRelations(), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), removeSynonymRelation(SynonymRelationship), removeSynonym(Synonym)

getSynonymNames

public Set<TaxonNameBase> getSynonymNames()
Returns the set of all taxon names used as synonyms of this ("accepted/correct") taxon. Each synonym is the source and this taxon is the target of a synonym relationship belonging to the set of synonym relationships assigned to this taxon.

See Also:
getSynonyms(), getSynonymsSortedByType(), getSynonymRelations(), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), removeSynonymRelation(SynonymRelationship), removeSynonym(Synonym)

addSynonym

public SynonymRelationship addSynonym(Synonym synonym,
                                      SynonymRelationshipType synonymType)
Creates a new synonym relationship (with the given synonym and with the given synonym relationship type), returns it and adds it to the set of synonym relationships assigned to this taxon. The new synonym relationship will also be added to the set of synonym relationships belonging to the synonym involved in this synonym relationship.
The returned synonym relationship allows to add further information to it.

Parameters:
synonym - the synonym involved in the relationship to be created and added to this taxon's synonym relationships set
synonymType - the synonym relationship category of the synonym relationship to be added
Returns:
the created synonym relationship
See Also:
addSynonymRelation(SynonymRelationship), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addHomotypicSynonym(Synonym, Reference, String), addHomotypicSynonymName(TaxonNameBase, Reference, String), addHeterotypicSynonymName(TaxonNameBase), addHeterotypicSynonymName(TaxonNameBase, HomotypicalGroup, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

addSynonym

public SynonymRelationship addSynonym(Synonym synonym,
                                      SynonymRelationshipType synonymType,
                                      Reference citation,
                                      String citationMicroReference)
Creates a new synonym relationship (with the given synonym, with the given synonym relationship type and with the reference source on which the relationship assertion is based), returns it and adds it to the set of synonym relationships assigned to this taxon. The new synonym relationship will also be added to the set of synonym relationships belonging to the synonym involved in this synonym relationship.
The returned synonym relationship allows to add further information to it.

Parameters:
synonym - the synonym involved in the relationship to be created and added to this taxon's synonym relationships set
synonymType - the synonym relationship category of the synonym relationship to be added
citation - the reference source for the new synonym relationship
microcitation - the string with the details describing the exact localisation within the reference
Returns:
the created synonym relationship
See Also:
addSynonymRelation(SynonymRelationship), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addHomotypicSynonym(Synonym, Reference, String), addHomotypicSynonymName(TaxonNameBase, Reference, String), addHeterotypicSynonymName(TaxonNameBase), addHeterotypicSynonymName(TaxonNameBase, HomotypicalGroup, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

addSynonymName

public SynonymRelationship addSynonymName(TaxonNameBase synonymName,
                                          SynonymRelationshipType synonymType)
Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym and with the given synonym relationship type), returns the relationship and adds it to the set of synonym relationships assigned to this taxon. The new synonym will have the same concept reference as this taxon. The new synonym relationship will also be added to the set of synonym relationships belonging to the created synonym.
The returned synonym relationship allows to add further information to it.

Parameters:
synonymName - the taxon name to be used as a synonym to be added to this taxon's set of synonyms
synonymType - the synonym relationship category of the synonym relationship to be added
Returns:
the created synonym relationship
See Also:
addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymRelation(SynonymRelationship), addHomotypicSynonym(Synonym, Reference, String), addHomotypicSynonymName(TaxonNameBase, Reference, String), addHeterotypicSynonymName(TaxonNameBase), addHeterotypicSynonymName(TaxonNameBase, HomotypicalGroup, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

addSynonymName

public SynonymRelationship addSynonymName(TaxonNameBase synonymName,
                                          SynonymRelationshipType synonymType,
                                          Reference citation,
                                          String citationMicroReference)
Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym, with the given synonym relationship type and with the reference source on which the relationship assertion is based), returns the relationship and adds it to the set of synonym relationships assigned to this taxon. The new synonym will have the same concept reference as this taxon. The new synonym relationship will also be added to the set of synonym relationships belonging to the created synonym.
The returned synonym relationship allows to add further information to it.

Parameters:
synonymName - the taxon name to be used as a synonym to be added to this taxon's set of synonyms
synonymType - the synonym relationship category of the synonym relationship to be added
citation - the reference source for the new synonym relationship
microcitation - the string with the details describing the exact localisation within the reference
Returns:
the created synonym relationship
See Also:
addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymRelation(SynonymRelationship), addHomotypicSynonym(Synonym, Reference, String), addHomotypicSynonymName(TaxonNameBase, Reference, String), addHeterotypicSynonymName(TaxonNameBase), addHeterotypicSynonymName(TaxonNameBase, HomotypicalGroup, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

addHeterotypicSynonymName

public SynonymRelationship addHeterotypicSynonymName(TaxonNameBase synonymName)
Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym and with the "is heterotypic synonym of" relationship type), returns the relationship and adds it to the set of synonym relationships assigned to this taxon. The new synonym will have the same concept reference as this taxon. The new synonym relationship will also be added to the set of synonym relationships belonging to the created synonym.
The returned synonym relationship allows to add further information to it.

Parameters:
synonymName - the taxon name to be used as an heterotypic synonym to be added to this taxon's set of synonyms
Returns:
the created synonym relationship
See Also:
addHeterotypicSynonymName(TaxonNameBase, HomotypicalGroup, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymRelation(SynonymRelationship), addHomotypicSynonym(Synonym, Reference, String), addHomotypicSynonymName(TaxonNameBase, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

addHeterotypicSynonymName

public SynonymRelationship addHeterotypicSynonymName(TaxonNameBase synonymName,
                                                     HomotypicalGroup homotypicalGroup,
                                                     Reference citation,
                                                     String microCitation)
Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym, with the "is heterotypic synonym of" relationship type and with the reference source on which the relationship assertion is based), returns the relationship and adds it to the set of synonym relationships assigned to this taxon. The new synonym will have the same concept reference as this taxon. Furthermore the new synonym relationship will be added to the set of synonym relationships belonging to the created synonym and the taxon name used as synonym will be added to the given homotypical group.
The returned synonym relationship allows to add further information to it.

Parameters:
synonymName - the taxon name to be used as an heterotypic synonym to be added to this taxon's set of synonyms
homotypicalGroup - the homotypical group to which the taxon name of the synonym will be added
citation - the reference source for the new synonym relationship
microcitation - the string with the details describing the exact localisation within the reference
Returns:
the created synonym relationship
See Also:
addHeterotypicSynonymName(TaxonNameBase), addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymRelation(SynonymRelationship), addHomotypicSynonym(Synonym, Reference, String), addHomotypicSynonymName(TaxonNameBase, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

addHomotypicSynonymName

public SynonymRelationship addHomotypicSynonymName(TaxonNameBase synonymName,
                                                   Reference citation,
                                                   String microCitation)
Creates a new synonym (with the given taxon name), a new synonym relationship (with the new synonym, with the "is homotypic synonym of" relationship type) and with the reference source on which the relationship assertion is based), returns the relationship and adds it to the set of synonym relationships assigned to this taxon. The new synonym will have the same concept reference as this taxon. Furthermore the new synonym relationship will be added to the set of synonym relationships belonging to the created synonym and the taxon name used as synonym will be added to the same homotypical group to which the taxon name of this taxon belongs.
The returned synonym relationship allows to add further information to it.

Parameters:
synonymName - the taxon name to be used as an homotypic synonym to be added to this taxon's set of synonyms
citation - the reference source for the new synonym relationship
microcitation - the string with the details describing the exact localisation within the reference
Returns:
the created synonym relationship
See Also:
addHomotypicSynonym(Synonym, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymRelation(SynonymRelationship), addHeterotypicSynonymName(TaxonNameBase), addHeterotypicSynonymName(TaxonNameBase, HomotypicalGroup, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

addHomotypicSynonym

public SynonymRelationship addHomotypicSynonym(Synonym synonym,
                                               Reference citation,
                                               String microCitation)
Creates a new synonym relationship (with the given synonym, with the "is homotypic synonym of" relationship type and with the reference source on which the relationship assertion is based), returns it and adds it to the set of synonym relationships assigned to this taxon. Furthermore the new synonym relationship will be added to the set of synonym relationships belonging to the synonym involved in this synonym relationship and the taxon name used as synonym will be added to the same homotypical group to which the taxon name of this taxon belongs.
The returned synonym relationship allows to add further information to it.

Parameters:
synonym - the synonym involved in the "is homotypic synonym of" relationship to be created and added to this taxon's synonym relationships set
citation - the reference source for the new synonym relationship
microcitation - the string with the details describing the exact localisation within the reference
Returns:
the created synonym relationship
See Also:
addHomotypicSynonymName(TaxonNameBase, Reference, String), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType, Reference, String), addSynonymName(TaxonNameBase, SynonymRelationshipType), addSynonymRelation(SynonymRelationship), addHeterotypicSynonymName(TaxonNameBase), addHeterotypicSynonymName(TaxonNameBase, HomotypicalGroup, Reference, String), getSynonymRelations(), removeSynonym(Synonym), Synonym.getSynonymRelations()

removeSynonym

public void removeSynonym(Synonym synonym)
Like removeSynonym(Synonym, boolean) with removeSynonymNameFromHomotypicalGroup set to true.

See Also:
removeSynonym(Synonym, boolean)

removeSynonym

public void removeSynonym(Synonym synonym,
                          boolean removeSynonymNameFromHomotypicalGroup)
Removes the element(s) from the set of synonym relationships assigned to this ("accepted/valid") taxon in which the given synonym is involved. Due to bidirectionality the same synonym relationships will also be removed from the set of synonym relationships assigned to the synonym involved in the relationship. Furthermore the content of the accepted taxon attribute and of the synonym attribute within the synonym relationships themselves will be set to "null".

Parameters:
synonym - the synonym involved in the synonym relationship which should be deleted
removeSynonymNameFromHomotypicalGroup - if true the removed synonyms name will get a new homotypic group in case it is together with other names in a group.
See Also:
getSynonymRelations(), addSynonym(Synonym, SynonymRelationshipType), addSynonym(Synonym, SynonymRelationshipType, Reference, String), removeSynonymRelation(SynonymRelationship), removeSynonymRelation(SynonymRelationship, boolean)

getHomotypicSynonymsByHomotypicGroup

public List<Synonym> getHomotypicSynonymsByHomotypicGroup()
Retrieves the ordered list (depending on the date of publication) of homotypic synonyms (according to the same reference as for this taxon) under the condition that the taxon names of these synonyms and the taxon name of this taxon belong to the same homotypical group.

Returns:
the ordered list of homotypic synonyms
See Also:
getHomotypicSynonymsByHomotypicRelationship(), getSynonyms(), getHomotypicSynonymyGroups(), HomotypicalGroup, HomotypicalGroup.getSynonymsInGroup(Reference)

getHomotypicSynonymsByHomotypicRelationship

public List<Synonym> getHomotypicSynonymsByHomotypicRelationship()
Retrieves the ordered list (depending on the date of publication) of homotypic synonyms (according to the same reference as for this taxon) under the condition that these synonyms and this taxon are involved in synonym relationships with an "is homotypic synonym of" synonym relationship type.

Returns:
the ordered list of homotypic synonyms
See Also:
getHomotypicSynonymsByHomotypicGroup(), getSynonyms(), getHomotypicSynonymyGroups(), SynonymRelationshipType

getHomotypicSynonymyGroups

public List<HomotypicalGroup> getHomotypicSynonymyGroups()
Returns the ordered list of all homotypical groups synonyms of this taxon belong to. Taxon names of homotypic synonyms belong to the same homotypical group as the taxon name of this taxon. Taxon names of heterotypic synonyms belong to at least one other homotypical group.
The list returned is ordered according to the date of publication of the first published name within each homotypical group.

See Also:
getHeterotypicSynonymyGroups(), getSynonyms(), HomotypicalGroup

isTaxonStatusUnknown

public boolean isTaxonStatusUnknown()
The status of this taxon is unknown it could also be some kind of synonym.

Returns:
the taxonStatusUnknown

setTaxonStatusUnknown

public void setTaxonStatusUnknown(boolean taxonStatusUnknown)
Parameters:
taxonStatusUnknown - the taxonStatusUnknown to set

isUnplaced

public boolean isUnplaced()

isOrphaned

public boolean isOrphaned()
Specified by:
isOrphaned in class TaxonBase<IIdentifiableEntityCacheStrategy<Taxon>>

setUnplaced

public void setUnplaced(boolean unplaced)

isExcluded

public boolean isExcluded()

setExcluded

public void setExcluded(boolean excluded)

getHeterotypicSynonymyGroups

public List<HomotypicalGroup> getHeterotypicSynonymyGroups()
Returns the ordered list of all homotypical groups that contain synonyms that are heterotypic to this taxon. Taxon names of heterotypic synonyms belong to a homotypical group which cannot be the homotypical group to which the taxon name of this taxon belongs. This method returns the same list as the getHomotypicSynonymyGroups method but without the homotypical group to which the taxon name of this taxon belongs.
The list returned is ordered according to the date of publication of the first published name within each homotypical group.

See Also:
getHeterotypicSynonymyGroups(), getSynonyms(), SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF(), HomotypicalGroup

getSynonymsInGroup

public List<Synonym> getSynonymsInGroup(HomotypicalGroup homotypicGroup)
Retrieves the ordered list (depending on the date of publication) of synonyms (according to a given reference) the taxon names of which belong to the homotypical group. If other names are part of the group that are not considered synonyms of this taxon, then they will not be included in the result set.

Parameters:
homoGroup -
See Also:
TaxonNameBase.getSynonyms(), TaxonNameBase.getTaxa(), taxon.Synonym

getOrCreateImageGallery

public TaxonDescription getOrCreateImageGallery(String title)
Returns the image gallery description. If no image gallery exists, a new one is created using the defined title and adds the string "-Image Gallery" to the title.
If multiple image galleries exist an arbitrary one is choosen.

Parameters:
title -
Returns:

getOrCreateImageGallery

public TaxonDescription getOrCreateImageGallery(String title,
                                                boolean addImageGalleryToTitle,
                                                boolean onlyTitle)
Returns the image gallery description. If no image gallery exists, a new one is created using the defined title.
If onlyTitle == true we look only for an image gallery with this title, create a new one otherwise. If multiple image galleries exist that match the conditions an arbitrary one is choosen.

Parameters:
title -
onlyTitle -
if - true, the String "Image Gallery
Returns:

clone

public Object clone()
Clones this taxon. This is a shortcut that enables to create a new instance that differs only slightly from this taxon by modifying only some of the attributes.

The TaxonNodes are not cloned, the list is empty.
(CAUTION: this behaviour needs to be discussed and may change in future).

The taxon relationships and synonym relationships are cloned

Overrides:
clone in class TaxonBase<IIdentifiableEntityCacheStrategy<Taxon>>
See Also:
TaxonBase.clone(), eu.etaxonomy.cdm.model.media.IdentifiableEntity#clone(), Object.clone()


Copyright © 2007-2013 EDIT. All Rights Reserved.