com.rubecula.darwin.domain.world
Class Organism_Asexual

java.lang.Object
  extended by net.sf.tostring0.AToString
      extended by com.rubecula.darwin.domain.world.Organism_
          extended by com.rubecula.darwin.domain.world.Organism_Asexual
All Implemented Interfaces:
Censusible, EnvironmentListener, Genetic, Mortal, Organism, Asexual, ComparableValue, Individual, Valuable, java.lang.Cloneable, java.lang.Comparable<Valuable>, net.sf.tostring0.Identifiable, net.sf.tostring0.IToString
Direct Known Subclasses:
Organism_TS

public class Organism_Asexual
extends Organism_
implements Asexual

This concrete class represents an individual organism within a Taxon . It contains a Genome from which may be derived a Phenotype in the context of a Genomic.

Version:
$Revision: 1.45 $
Author:
Robin Hillyard

Field Summary
 
Fields inherited from class com.rubecula.darwin.domain.world.Organism_
_identifier, _nuclear, LOG
 
Fields inherited from interface net.sf.tostring0.IToString
ANGBR_OPEN, ANGBRA_CLSE, BRA_CLSE, BRA_OPEN, BRCE_OPEN, BRCS_CLSE, COLON, LIST_SEPARATOR, MAX_ELEMENTS_DEFAULT, S_MT, S_PERCENT, SEPARATOR, SPACE
 
Constructor Summary
protected Organism_Asexual()
          Deprecated. 
 
Method Summary
 Mate createMate(MateChoice chooser, Organism female)
          Create a Mate object based on this (male) organism and its desirability to the given female.
 Mating createPairBond(MateChoice chooser, Lek lek, Lek alternativeLek)
           
 java.util.Collection<Organism> getAsexualProgeny(int howMany)
           
static Organism makeProgeny(java.lang.String identifier, Colony colony, Genome genome)
           
 Organism reproduce(java.lang.String identifier, Genomic genomic)
          Method to perform asexual reproduction.
static Organism seed(Colony colony)
          Class method to create a new Organism without parents (for seeding a population).
 
Methods inherited from class com.rubecula.darwin.domain.world.Organism_
age, censusMe, clone, compareTo, equals, getAge, getCensusibleChildren, getColony, getFitness, getGenome, getIdentifier, getMortality, getNuclear, getPhenotype, getValue, getVisualizable, hashCode, isMortal, isNew, isViable, isVisible, normalizeGenome, onEnvironmentChange, setColony, setViability, setViable
 
Methods inherited from class net.sf.tostring0.AToString
toString, toString, toStringBrief, toStringId
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.rubecula.darwin.domain.helper.Genetic
getGenome
 
Methods inherited from interface net.sf.tostring0.IToString
toString, toStringBrief, toStringId
 

Constructor Detail

Organism_Asexual

@Deprecated
protected Organism_Asexual()
Deprecated. 

Unused constructor required only for type hierarchy purposes

Method Detail

makeProgeny

public static Organism makeProgeny(java.lang.String identifier,
                                   Colony colony,
                                   Genome genome)
Parameters:
identifier -
colony -
genome -
Returns:
a new asexual organism which is the result of calling NuclearFactory.makeClone(Genome, String) and passing its result to OrganismFactory.makeOrganism(Nuclear, Colony, String) .

seed

public static Organism seed(Colony colony)
Class method to create a new Organism without parents (for seeding a population).

Parameters:
colony - the population to be seeded.
Returns:
a new organism created out of "whole cloth".

createMate

public Mate createMate(MateChoice chooser,
                       Organism female)
Description copied from interface: Organism
Create a Mate object based on this (male) organism and its desirability to the given female.

Specified by:
createMate in interface Organism
Parameters:
chooser - the object which will calculate the desirability of this organism to the given female.
female - the organism looking for a mate.
Returns:
null always
See Also:
Organism.createMate(com.rubecula.darwin.domain.helper.MateChoice, com.rubecula.darwin.domain.helper.Organism)

createPairBond

public Mating createPairBond(MateChoice chooser,
                             Lek lek,
                             Lek alternativeLek)
Specified by:
createPairBond in interface Organism
lek - the breeding males from which we will choose a mate
alternativeLek - may be null
Returns:
null always
See Also:
Organism.createPairBond(com.rubecula.darwin.domain.helper.MateChoice, Lek, Lek)

getAsexualProgeny

public java.util.Collection<Organism> getAsexualProgeny(int howMany)
Specified by:
getAsexualProgeny in interface Organism
Parameters:
howMany -
Returns:
a collection of progeny from the given organism.

reproduce

public Organism reproduce(java.lang.String identifier,
                          Genomic genomic)
Description copied from interface: Asexual
Method to perform asexual reproduction.

Specified by:
reproduce in interface Asexual
Parameters:
identifier - an identifier.
genomic - the genomic for this population.
Returns:
a new Organism which has been added to this Organism's population.
See Also:
Asexual.reproduce(java.lang.String, com.rubecula.darwin.domain.helper.Genomic)


Copyright © 2010 Rubecula Software, LLC. All Rights Reserved.