com.rubecula.darwin.core
Interface Organism

All Superinterfaces:
Auditable, Fit, Identifiable
All Known Implementing Classes:
Organism_Abstract, Organism_Asexual, Organism_Sexual

public interface Organism
extends Fit, Auditable

Defines methods of an individual organism within a Darwinian System. An Organism exhibits the following properties:

genotype
the (possibly) unique genotype for the individual, (from which may be derived a Phenotype in the context of a Genome);
age
the age of the individual (a count of the number of times the method age() has been called on it);
phenotype
the phenotype of this individual (not necessarily a fixed property - may be derived on the fly)
;
population
the population to which this organism belongs;

Version:
$Revision: 1.1 $
Author:
Robin Hillyard

Method Summary
 void age()
          Mutating method to "age" this organism by one generation.
 double calculateMortality(double fitness)
           
 Genotype createGamete()
          Method to create a new Gamete for this Organism by the process of Meiosis.
 int getAge()
           
 Genotype getGenotype()
           
 Phenotype getPhenotype()
           
 Population getPopulation()
          Method to determine to which population this organism currently belongs.
 boolean isViable()
           
 void setPopulation(Population population)
          Mutating method to change the current population for this organism, as a result of migration.
 void setViable(boolean viable)
           
 
Methods inherited from interface com.rubecula.darwin.core.Fit
evaluateFitness
 
Methods inherited from interface com.rubecula.util.Auditable
audit, audit, audit
 
Methods inherited from interface com.rubecula.util.Identifiable
getIdentifier
 

Method Detail

age

void age()
Mutating method to "age" this organism by one generation.


calculateMortality

double calculateMortality(double fitness)
Parameters:
fitness -
Returns:
a value for the mortality of this Organism, given its fitness value.

createGamete

Genotype createGamete()
Method to create a new Gamete for this Organism by the process of Meiosis.

Returns:
the new gamete as a (haploid) Genotype.

getAge

int getAge()
Returns:
the current age of this organism

getGenotype

Genotype getGenotype()
Returns:
the genotype for this organism.

getPhenotype

Phenotype getPhenotype()
Returns:
the phenotype for this organism.

getPopulation

Population getPopulation()
Method to determine to which population this organism currently belongs.

Returns:
the population to which this organism belongs.

isViable

boolean isViable()
Returns:
true if this organism is part of a population model (generally this is true, except temporarily when an organism is first born or newly dead)

setPopulation

void setPopulation(Population population)
Mutating method to change the current population for this organism, as a result of migration.

Parameters:
population - the new population to which this organism now belongs.

setViable

void setViable(boolean viable)
Parameters:
viable - if false, then we (temporarily) mark this organism as not being part of a population model.