org.biojavax.ga.impl
Class AbstractOrganism

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojavax.ga.impl.AbstractOrganism
All Implemented Interfaces:
Changeable, Organism
Direct Known Subclasses:
SimpleOrganism

public abstract class AbstractOrganism
extends AbstractChangeable
implements Organism

Abstract implementation of Organism. Most implementations would want to inherit from here.

Since:
1.5
Version:
1.0
Author:
Mark Schreiber

Field Summary
protected  SymbolList[] chromosomes
           
 
Fields inherited from interface org.biojavax.ga.Organism
CHROMOSOMES, NAME
 
Constructor Summary
protected AbstractOrganism()
           
protected AbstractOrganism(Organism org, String name)
           
 
Method Summary
 SymbolList[] getChromosomes()
          Gets the organisms 'chromosome' sequences
 double[] getFitness()
          Returns the current fitness of this organism.
 String getName()
          Gets the organisms name
abstract  boolean isHaploid()
          Is the organism Haploid?
protected abstract  void setChromImpl(SymbolList[] chromosomes)
           
 void setChromosomes(SymbolList[] chromosomes)
          Sets the organisms 'chromosome' sequences.
 void setFitness(double[] fitness)
          This method allows to set the fitness of this organism to the specified value.
 void setName(String name)
          Sets the organisms name
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.biojavax.ga.Organism
replicate
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Field Detail

chromosomes

protected SymbolList[] chromosomes
Constructor Detail

AbstractOrganism

protected AbstractOrganism()

AbstractOrganism

protected AbstractOrganism(Organism org,
                           String name)
Method Detail

getChromosomes

public final SymbolList[] getChromosomes()
Description copied from interface: Organism
Gets the organisms 'chromosome' sequences

Specified by:
getChromosomes in interface Organism
Returns:
a SymbolList[]

getFitness

public final double[] getFitness()
Description copied from interface: Organism
Returns the current fitness of this organism. This is an array. Note that in the most cases this array may only contain one single value, but for multi-objective optimization it is necessary to store multiple fitness values.

Specified by:
getFitness in interface Organism
Returns:
the fitness of the organism

getName

public String getName()
Description copied from interface: Organism
Gets the organisms name

Specified by:
getName in interface Organism
Returns:
the name String

isHaploid

public abstract boolean isHaploid()
Description copied from interface: Organism
Is the organism Haploid?

Specified by:
isHaploid in interface Organism
Returns:
true if it is.

setChromImpl

protected abstract void setChromImpl(SymbolList[] chromosomes)

setChromosomes

public final void setChromosomes(SymbolList[] chromosomes)
                          throws ChangeVetoException
Description copied from interface: Organism
Sets the organisms 'chromosome' sequences.

Specified by:
setChromosomes in interface Organism
Parameters:
chromosomes - a SymbolList[]
Throws:
ChangeVetoException - if the Chromosome collection of the Organism is unchangable

setFitness

public final void setFitness(double[] fitness)
Description copied from interface: Organism
This method allows to set the fitness of this organism to the specified value. Generally this will be an array, which in the most cases contains just a single entry. In cases where we want to have multi-objective optimization we may want to make use of a more general fitness array with mutliple entries.

Specified by:
setFitness in interface Organism

setName

public final void setName(String name)
                   throws ChangeVetoException
Description copied from interface: Organism
Sets the organisms name

Specified by:
setName in interface Organism
Parameters:
name - the name of the organism.
Throws:
ChangeVetoException - if the name may not be changed.