eu.etaxonomy.cdm.model.name
Class TypeDesignationBase<T extends TypeDesignationStatusBase>

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.ReferencedEntityBase
                  extended by eu.etaxonomy.cdm.model.name.TypeDesignationBase<T>
All Implemented Interfaces:
IAnnotatableEntity, ICdmBase, IReferencedEntity, IVersionableEntity, ITypeDesignation, Serializable, Cloneable
Direct Known Subclasses:
NameTypeDesignation, SpecimenTypeDesignation

@Entity
public abstract class TypeDesignationBase<T extends TypeDesignationStatusBase>
extends ReferencedEntityBase
implements ITypeDesignation

The (abstract) class representing a typification of one or several taxon names.
All taxon names which have a rank "species aggregate" or lower can only be typified by specimens (a specimen type designation), but taxon names with a higher rank might be typified by an other taxon name with rank "species" or "genus" (a name type designation).

Version:
1.0
Author:
a.mueller
See Also:
TaxonNameBase, NameTypeDesignation, SpecimenTypeDesignation, Serialized Form

Field Summary
 
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
protected TypeDesignationBase()
          Class constructor: creates a new empty type designation.
protected TypeDesignationBase(Reference citation, String citationMicroReference, String originalNameString)
          Class constructor: creates a new type designation (including its reference source and eventually the taxon name string originally used by this reference when establishing the former designation).
protected TypeDesignationBase(Reference citation, String citationMicroReference, String originalNameString, boolean notDesignated)
          Class constructor: creates a new type designation (including its reference source and eventually the taxon name string originally used by this reference when establishing the former designation).
 
Method Summary
protected  void addTypifiedName(TaxonNameBase taxonName)
          Deprecated. for bidirectional use only
 Object clone()
          Clones this type designation.
 HomotypicalGroup getHomotypicalGroup()
          Deprecated. homotypical group can not be set and always seems to be null. Probably it is a relict of an old version.
 T getTypeStatus()
          Returns the type designation status for this specimen type designation.
 Set<TaxonNameBase> getTypifiedNames()
          Returns the set of taxon names typified in this type designation.
 boolean isNotDesignated()
          Returns the boolean value "true" if it is known that a type does not exist and therefore the taxon name to which this type designation is assigned must still be typified.
abstract  void removeType()
           
protected  void removeTypifiedName(TaxonNameBase taxonName)
          Deprecated. for bidirectional use only
 void setNotDesignated(boolean notDesignated)
           
 void setTypeStatus(T typeStatus)
           
 
Methods inherited from class eu.etaxonomy.cdm.model.common.ReferencedEntityBase
getCitation, getCitationMicroReference, getOriginalNameString, setCitation, setCitationMicroReference, setOriginalNameString
 
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, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface eu.etaxonomy.cdm.model.name.ITypeDesignation
isLectoType
 
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

TypeDesignationBase

protected TypeDesignationBase()
Class constructor: creates a new empty type designation.

See Also:
#TypeDesignationBase(Reference, String, String, Boolean)

TypeDesignationBase

protected TypeDesignationBase(Reference citation,
                              String citationMicroReference,
                              String originalNameString)
Class constructor: creates a new type designation (including its reference source and eventually the taxon name string originally used by this reference when establishing the former designation).

Parameters:
citation - the reference source for the new designation
citationMicroReference - the string with the details describing the exact localisation within the reference
originalNameString - the taxon name string used originally in the reference source for the new designation
See Also:
TypeDesignationBase(), isNotDesignated(), TaxonNameBase.getTypeDesignations()

TypeDesignationBase

protected TypeDesignationBase(Reference citation,
                              String citationMicroReference,
                              String originalNameString,
                              boolean notDesignated)
Class constructor: creates a new type designation (including its reference source and eventually the taxon name string originally used by this reference when establishing the former designation).

Parameters:
citation - the reference source for the new designation
citationMicroReference - the string with the details describing the exact localisation within the reference
originalNameString - the taxon name string used originally in the reference source for the new designation
isNotDesignated - the boolean flag indicating whether there is no type at all for this type designation
See Also:
TypeDesignationBase(), isNotDesignated(), TaxonNameBase.getTypeDesignations()
Method Detail

getTypeStatus

public T getTypeStatus()
Returns the type designation status for this specimen type designation. This status describes which of the possible categories of types like "holotype", "neotype", "syntype" or "isotype" applies to this specimen type designation.


setTypeStatus

public void setTypeStatus(T typeStatus)
See Also:
getTypeStatus()

getHomotypicalGroup

@Deprecated
public HomotypicalGroup getHomotypicalGroup()
Deprecated. homotypical group can not be set and always seems to be null. Probably it is a relict of an old version.

Returns the homotypical group to which all (in this type designation) typified taxon names belong.

Specified by:
getHomotypicalGroup in interface ITypeDesignation
See Also:
getTypifiedNames()

getTypifiedNames

public Set<TaxonNameBase> getTypifiedNames()
Returns the set of taxon names typified in this type designation. This is a subset of the taxon names belonging to the corresponding homotypical group.

Specified by:
getTypifiedNames in interface ITypeDesignation

isNotDesignated

public boolean isNotDesignated()
Returns the boolean value "true" if it is known that a type does not exist and therefore the taxon name to which this type designation is assigned must still be typified. Two cases must be differentiated:
If a) is true there should be no TypeDesignation instance at all assigned to the "typified" taxon name.
If b) is true there should be a TypeDesignation instance with the flag isNotDesignated set. The typeName attribute, in case of a name type designation, or the typeSpecimen attribute, in case of a specimen type designation, should then be "null".


setNotDesignated

public void setNotDesignated(boolean notDesignated)
See Also:
isNotDesignated()

addTypifiedName

@Deprecated
protected void addTypifiedName(TaxonNameBase taxonName)
Deprecated. for bidirectional use only


removeTypifiedName

@Deprecated
protected void removeTypifiedName(TaxonNameBase taxonName)
Deprecated. for bidirectional use only


removeType

public abstract void removeType()

clone

public Object clone()
             throws CloneNotSupportedException
Clones this type designation. This is a shortcut that enables to create a new instance that differs only slightly from this type designation by modifying only some of the attributes.
CAUTION: the typifiedNames set is not cloned but empty after cloning as the typified names is considered to be the not owning part of a bidirectional relationship. This may be changed in future.

Overrides:
clone in class ReferencedEntityBase
Throws:
CloneNotSupportedException
See Also:
ReferencedEntityBase.clone(), Object.clone()


Copyright © 2007-2013 EDIT. All Rights Reserved.