com.rubecula.darwin.core
Class Genome_Diploid

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.Vector
              extended by com.rubecula.util.AuditableVector
                  extended by com.rubecula.darwin.core.Genome_Abstract
                      extended by com.rubecula.darwin.core.Genome_Diploid
All Implemented Interfaces:
Genome, Auditable, Identifiable, Serializable, Cloneable, Iterable, Collection, List, RandomAccess

public class Genome_Diploid
extends Genome_Abstract

Concrete implementation of Genome representing the possible genetic information contained in a Darwinian system. A Genome_Diploid may contain any number of gene Loci. A Genome_Diploid is essentially a template for a Genotype. Both structures are approximately parallel.
Note that there is currently no division of Loci into Chromosomes. TODO Is that reasonable?

Version:
$Revision: 1.1 $
Author:
Robin Hillyard
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.rubecula.darwin.core.Genome_Abstract
log
 
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
 
Fields inherited from class java.util.AbstractList
modCount
 
Fields inherited from interface com.rubecula.darwin.core.Genome
DIPLOID, HAPLOID
 
Constructor Summary
Genome_Diploid(String identifier, Meiosis meioter, Expression expresser, Factory factory)
          Constructor for a new Genome_Diploid instance using the given meiosis implementaion.
Genome_Diploid(String identifier, Meiosis meioter, Mutator mutator, Expression expresser, Factory factory)
          Constructor for a new Genome_Diploid instance using the given meiosis implementation and the given mutator implementation.
 
Method Summary
 
Methods inherited from class com.rubecula.darwin.core.Genome_Abstract
add, add, add, getExpresser, getFactory, getLocus, getMeioter, getMutator, getOde
 
Methods inherited from class com.rubecula.util.AuditableVector
audit, audit, audit, getIdentifier
 
Methods inherited from class java.util.Vector
add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.rubecula.darwin.core.Genome
size
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Constructor Detail

Genome_Diploid

public Genome_Diploid(String identifier,
                      Meiosis meioter,
                      Expression expresser,
                      Factory factory)
Constructor for a new Genome_Diploid instance using the given meiosis implementaion.

Parameters:
identifier - the identifier for this Genome.
meioter - an implementer of Meiosis.
expresser - an implementer of Expression. which allows any Genotype conforming to this Genome to be expressed as a Phenotype.
factory - the implementer of Factory.

Genome_Diploid

public Genome_Diploid(String identifier,
                      Meiosis meioter,
                      Mutator mutator,
                      Expression expresser,
                      Factory factory)
Constructor for a new Genome_Diploid instance using the given meiosis implementation and the given mutator implementation.

Parameters:
identifier -
meioter -
mutator -
expresser -
factory - the implementer of Factory.