eu.etaxonomy.cdm.model.name
Class HomotypicalGroup

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.name.HomotypicalGroup
All Implemented Interfaces:
IAnnotatableEntity, ICdmBase, IVersionableEntity, Serializable, Cloneable

@Entity
public class HomotypicalGroup
extends AnnotatableEntity

The homotypical group class represents a set of taxon names associated on the base of their typifications. Since it can be asserted that two taxon names are typified by the same type without mentioning the type itself, even taxon names without explicit type designation can belong to an homotypical group.
Taxon names belonging to an homotypical group and the taxon names or specimens used as types for their type designations have the following properties:

Version:
1.0
Author:
m.doering
See Also:
TypeDesignationBase, NameTypeDesignation, SpecimenTypeDesignation, Serialized Form

Field Summary
protected  Set<TaxonNameBase> typifiedNames
           
 
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
HomotypicalGroup()
          Class constructor: creates a new homotypical group instance with an empty set of typified taxon names.
 
Method Summary
 void addTypifiedName(TaxonNameBase typifiedName)
          Adds a new taxon name to the set of taxon names that belong to this homotypical group.
 Set<NameRelationship> getBasionymAndReplacedSynonymRelations()
          Returns the name relationships that represent either a basionym (original combination) relationship or a replaced synonym relationship.
 Set<TaxonNameBase> getBasionyms()
          Returns all taxon names in the homotypical group that have a 'is_basionym_for' (zool.: 'is_original_combination_for') relationship.
 Set<TaxonNameBase> getBasionymsOrReplacedSynonyms()
          Returns all taxon names in the homotypical group that have an 'is_basionym_for' (zool.: 'is_original_combination_for') or a replaced synonym relationship.
 Set<NameTypeDesignation> getNameTypeDesignations()
          Returns the set of name type designations that typify the taxon names belonging to this homotypical group including the status of these designations.
 Set<TaxonNameBase> getNewCombinations()
          Returns all taxon names in the homotypical group that are new combinations (have a basionym/original combination or a replaced synonym).
 Set<TaxonNameBase> getReplacedSynonym()
          Returns all taxon names in the homotypical group that have a 'is_replaced_synonym_for' relationship.
 Set<SpecimenTypeDesignation> getSpecimenTypeDesignations()
          Returns the set of specimen type designations that typify the taxon names belonging to this homotypical group including the status of these designations.
 List<Synonym> getSynonymsInGroup(Reference sec)
          Deprecated. synonyms should not depend on the sec. Therefore this method will be removed in version 3.1 or higher. Use Taxon#getSynonymsInGroup(HomotypicalGroup) instead. But be aware that the semantics is slightly different.
 Set<TypeDesignationBase> getTypeDesignations()
          Returns the set of all type designations that typify the taxon names belonging to this homotypical group (this includes either name type designations or specimen type designations).
 Set<TaxonNameBase> getTypifiedNames()
          Returns the set of taxon names that belong to this homotypical group.
 Set<TaxonNameBase> getUnrelatedNames()
          Returns all taxon names in the homotypical group that do not have an 'is_basionym_for' (zool.: 'is_original_combination_for') or a replaced synonym relationship.
 void merge(HomotypicalGroup homotypicalGroupToMerge)
          Merges the typified taxon names from one homotypical group into the set of typified taxon names of this homotypical group.
static HomotypicalGroup NewInstance()
          Creates a new homotypical group instance with an empty set of typified taxon names.
static void removeGroupBasionym(TaxonNameBase basionymName)
          Removes all basionym relationships between basionymName and any other name in its homotypic group
 void removeTypifiedName(TaxonNameBase typifiedName)
          Removes one element from the set of taxon names that belong to this homotypical group.
 void setGroupBasionym(TaxonNameBase basionymName)
          Creates a basionym relationship to all other names in this names homotypical group.
 void setGroupBasionym(TaxonNameBase basionymName, Reference citation, String microCitation, String ruleConsidered)
           
 
Methods inherited from class eu.etaxonomy.cdm.model.common.AnnotatableEntity
addAnnotation, addMarker, clone, 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, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
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
 

Field Detail

typifiedNames

protected Set<TaxonNameBase> typifiedNames
Constructor Detail

HomotypicalGroup

public HomotypicalGroup()
Class constructor: creates a new homotypical group instance with an empty set of typified taxon names.

Method Detail

NewInstance

public static HomotypicalGroup NewInstance()
Creates a new homotypical group instance with an empty set of typified taxon names.

See Also:
HomotypicalGroup()

getTypifiedNames

public Set<TaxonNameBase> getTypifiedNames()
Returns the set of taxon names that belong to this homotypical group.

See Also:
getSpecimenTypeDesignations()

addTypifiedName

public void addTypifiedName(TaxonNameBase typifiedName)
Adds a new taxon name to the set of taxon names that belong to this homotypical group.

Parameters:
typifiedName - the taxon name to be added to this group
See Also:
getTypifiedNames(), removeTypifiedName(TaxonNameBase)

removeTypifiedName

public void removeTypifiedName(TaxonNameBase typifiedName)
Removes one element from the set of taxon names that belong to this homotypical group.

Parameters:
taxonBase - the taxon name which should be removed from the corresponding set
See Also:
addTypifiedName(TaxonNameBase)

merge

public void merge(HomotypicalGroup homotypicalGroupToMerge)
Merges the typified taxon names from one homotypical group into the set of typified taxon names of this homotypical group.

Parameters:
homotypicalGroupToMerge - the homotypical group the typified names of which are to be transferred to this homotypical group

getSpecimenTypeDesignations

public Set<SpecimenTypeDesignation> getSpecimenTypeDesignations()
Returns the set of specimen type designations that typify the taxon names belonging to this homotypical group including the status of these designations.

See Also:
getTypifiedNames(), getNameTypeDesignations(), getTypeDesignations(), TaxonNameBase.getSpecimenTypeDesignations()

getNameTypeDesignations

public Set<NameTypeDesignation> getNameTypeDesignations()
Returns the set of name type designations that typify the taxon names belonging to this homotypical group including the status of these designations.

See Also:
getTypifiedNames(), getSpecimenTypeDesignations(), getTypeDesignations(), TaxonNameBase.getNameTypeDesignations()

getTypeDesignations

public Set<TypeDesignationBase> getTypeDesignations()
Returns the set of all type designations that typify the taxon names belonging to this homotypical group (this includes either name type designations or specimen type designations).

See Also:
getTypifiedNames(), getNameTypeDesignations(), getSpecimenTypeDesignations(), TaxonNameBase.getTypeDesignations()

getSynonymsInGroup

@Deprecated
public List<Synonym> getSynonymsInGroup(Reference sec)
Deprecated. synonyms should not depend on the sec. Therefore this method will be removed in version 3.1 or higher. Use Taxon#getSynonymsInGroup(HomotypicalGroup) instead. But be aware that the semantics is slightly different.

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

Parameters:
sec - the reference whose treatment is to be considered
Returns:
the ordered list of synonyms
See Also:
TaxonNameBase.getSynonyms(), TaxonNameBase.getTaxa(), taxon.Synonym

setGroupBasionym

public void setGroupBasionym(TaxonNameBase basionymName)
                      throws IllegalArgumentException
Creates a basionym relationship to all other names in this names homotypical group.

Parameters:
basionymName -
Throws:
IllegalArgumentException - if basionymName is not member in this homotypical group
See Also:
HomotypicalGroup.setGroupBasionym(TaxonNameBase basionymName)

setGroupBasionym

public void setGroupBasionym(TaxonNameBase basionymName,
                             Reference citation,
                             String microCitation,
                             String ruleConsidered)
                      throws IllegalArgumentException
Throws:
IllegalArgumentException

removeGroupBasionym

public static void removeGroupBasionym(TaxonNameBase basionymName)
Removes all basionym relationships between basionymName and any other name in its homotypic group

Parameters:
basionymName -

getUnrelatedNames

public Set<TaxonNameBase> getUnrelatedNames()
Returns all taxon names in the homotypical group that do not have an 'is_basionym_for' (zool.: 'is_original_combination_for') or a replaced synonym relationship.

Returns:

getNewCombinations

public Set<TaxonNameBase> getNewCombinations()
Returns all taxon names in the homotypical group that are new combinations (have a basionym/original combination or a replaced synonym).

Returns:

getBasionymsOrReplacedSynonyms

public Set<TaxonNameBase> getBasionymsOrReplacedSynonyms()
Returns all taxon names in the homotypical group that have an 'is_basionym_for' (zool.: 'is_original_combination_for') or a replaced synonym relationship.

Returns:

getBasionyms

public Set<TaxonNameBase> getBasionyms()
Returns all taxon names in the homotypical group that have a 'is_basionym_for' (zool.: 'is_original_combination_for') relationship.

Returns:

getReplacedSynonym

public Set<TaxonNameBase> getReplacedSynonym()
Returns all taxon names in the homotypical group that have a 'is_replaced_synonym_for' relationship.

Returns:

getBasionymAndReplacedSynonymRelations

public Set<NameRelationship> getBasionymAndReplacedSynonymRelations()
Returns the name relationships that represent either a basionym (original combination) relationship or a replaced synonym relationship.

Returns:


Copyright © 2007-2013 EDIT. All Rights Reserved.