org.jscience.biology.taxonomy
Interface Taxon

All Known Implementing Classes:
AbstractTaxon, ItisTaxon, SimpleTaxon, WeakTaxon

public interface Taxon

A taxon within a classification.

Taxa may be 'leaf' nodes specifying species, or 'internal' nodes specifying kingdoms and the like.


Method Summary
 boolean equals(java.lang.Object o)
          Two taxa are equal if they have equivalent children, common and scientific names.
 double getAppearance()
          The date at which this taxon appeared in earth history in seconds before or after unix time (1/1/1970).
 java.util.Set getChildren()
          The children of this Taxon.
 java.lang.String getCommonName()
          The common name of the Taxon.
 java.util.Vector getExtendedName()
          The complete name of this Taxon.
 double getExtinction()
          The date at which this taxon disappeared in earth history in seconds before or after unix time (1/1/1970).
 Taxon getParent()
          The parent of this Taxon.
 java.lang.String getScientificName()
          The scientific name of this taxon.
 boolean isLeaf()
          The leafs of this Taxon.
 boolean isRoot()
          The root of this Tree.
 

Method Detail

getCommonName

java.lang.String getCommonName()

The common name of the Taxon.

This is the normal name used in common speech, such as 'human'.

Returns:
a String representing this Taxon's common name

getScientificName

java.lang.String getScientificName()

The scientific name of this taxon.

This will be the portion of the scientific classification pertaining to just this node within the classifictaion. It will be something like 'homo sapiens' or 'archaeal group 2', rather than the full classification list.


getParent

Taxon getParent()

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.

isRoot

boolean isRoot()

The root of this Tree.

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:
a boolean indicating whether or not this is the root of the classification.

isLeaf

boolean isLeaf()

The leafs of this Taxon.

A taxa with no children should be considered as a real specie.

Returns:
true if the Taxon has no children

getChildren

java.util.Set getChildren()

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.

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

getExtendedName

java.util.Vector getExtendedName()

The complete name of this Taxon.

A complete name using the root and going down the hierarchy to this Taxon.

Returns:
the full ordered taxonomic name

getAppearance

double getAppearance()

The date at which this taxon appeared in earth history in seconds before or after unix time (1/1/1970). A value of O stands for unknown. Defaults to 0.

Returns:
the date at which the taxon first differenciated or appeared

getExtinction

double getExtinction()

The date at which this taxon disappeared in earth history in seconds before or after unix time (1/1/1970). A value of O stands for unknown. Defaults to 0. Use the value Double.MAX_VALUE for species still existing.

Returns:
the date at which the taxon became extinct if any

equals

boolean equals(java.lang.Object o)

Two taxa are equal if they have equivalent children, common and scientific names.

Two different implementations of Taxon should be able to appropriately trans-class equality. The parent of a Taxon is not considered in testing equality as this potentially leads to combinatorial problems checking whole taxa hierachies against one another.

Overrides:
equals in class java.lang.Object
Parameters:
o - the object to check
Returns:
true if o is a Taxon instance and has the same properties as this