org.biojava.bio.taxa
Class SimpleTaxon

java.lang.Object
  extended byorg.biojava.utils.AbstractChangeable
      extended byorg.biojava.bio.taxa.AbstractTaxon
          extended byorg.biojava.bio.taxa.SimpleTaxon
All Implemented Interfaces:
Annotatable, Changeable, Taxon

public class SimpleTaxon
extends AbstractTaxon

A no-frills implementatation of Taxon.

A TaxonFactory implementation will probably wish to sub-class this and add package-private accessors for the parent and children fields as well as a pacakge-private constructor.

Author:
Matthew Pocock

Nested Class Summary
 
Nested classes inherited from class org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
protected  java.util.Set children
           
protected  Taxon parent
           
 
Fields inherited from interface org.biojava.bio.taxa.Taxon
CHANGE_COMMON_NAME, CHANGE_SCIENTIFIC_NAME
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Constructor Summary
protected SimpleTaxon()
           
protected SimpleTaxon(java.lang.String scientificName, java.lang.String commonName)
          Create a new instance with no parent, no children and given scientific and common names.
 
Method Summary
 java.util.Set getChildren()
          The children of this Taxon.
 Taxon getParent()
          The parent of this Taxon.
 
Methods inherited from class org.biojava.bio.taxa.AbstractTaxon
equals, getAnnotation, getChangeSupport, getCommonName, getScientificName, hashCode, setCommonName, setScientificName, toString
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Field Detail

parent

protected Taxon parent

children

protected java.util.Set children
Constructor Detail

SimpleTaxon

protected SimpleTaxon()

SimpleTaxon

protected SimpleTaxon(java.lang.String scientificName,
                      java.lang.String commonName)
Create a new instance with no parent, no children and given scientific and common names.

Method Detail

getParent

public Taxon getParent()
Description copied from interface: Taxon

The parent of this Taxon.

Taxa live within a tree data-structure, so every taxon has a single parent except for the root type. This has the null parent.

Returns:
the parent Taxon, or null if this is the root type.

getChildren

public java.util.Set getChildren()
Description copied from interface: Taxon

The children of this Taxon.

Taxa live within a tree data-structure, so every taxon has zero or more children. In the case of zero children, the empty set is returned.

? read-only ? dynamicaly updated with taxon object ? copy of data ?

Returns:
the Set (possibly empty) of all child Taxa