org.biojava.bio.dist
Class IndexedCount

java.lang.Object
  extended byorg.biojava.utils.AbstractChangeable
      extended byorg.biojava.bio.dist.IndexedCount
All Implemented Interfaces:
Changeable, Count, java.io.Serializable

public final class IndexedCount
extends AbstractChangeable
implements Count, java.io.Serializable

An encapsulation of a count over the Symbols within a FiniteAlphabet using an AlphabetIndex object.

Author:
Matthew Pocock, Mark Schreiber (serialization)
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.biojava.bio.dist.Count
COUNTS
 
Constructor Summary
IndexedCount(AlphabetIndex indexer)
           
IndexedCount(FiniteAlphabet fa)
           
 
Method Summary
 Alphabet getAlphabet()
          The alphabet from which this Count is over.
 double getCount(AtomicSymbol s)
          Return the counts for a given Symbol.
 void increaseCount(AtomicSymbol s, double c)
          Set the probability or odds that Symbol s is emited by this state.
 void setCount(AtomicSymbol s, double c)
          Set the count for the Symbol s.
 void setCounts(Count c)
          Set the counts in this Counts to be equal to the counts in c.
 void zeroCounts()
          Reset all the counts to zero.
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, 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.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

IndexedCount

public IndexedCount(FiniteAlphabet fa)

IndexedCount

public IndexedCount(AlphabetIndex indexer)
Method Detail

getAlphabet

public Alphabet getAlphabet()
Description copied from interface: Count
The alphabet from which this Count is over.

Specified by:
getAlphabet in interface Count
Returns:
the Alphabet associated with this Count

getCount

public double getCount(AtomicSymbol s)
                throws IllegalSymbolException
Description copied from interface: Count
Return the counts for a given Symbol.

Specified by:
getCount in interface Count
Parameters:
s - the Symbol
Throws:
IllegalSymbolException - if s is not from this Count's alphabet

setCount

public void setCount(AtomicSymbol s,
                     double c)
              throws IllegalSymbolException,
                     ChangeVetoException
Description copied from interface: Count
Set the count for the Symbol s.

Specified by:
setCount in interface Count
Parameters:
s - the Symbol emitted
c - the new count for the Symbol
Throws:
ChangeVetoException - if this distribution does not allow counts to be tampered with, or if one of the listeners vetoed this change
IllegalSymbolException - if s is not from this state's alphabet, or if it is an ambiguity symbol and the implementation can't handle this case

increaseCount

public void increaseCount(AtomicSymbol s,
                          double c)
                   throws IllegalSymbolException,
                          ChangeVetoException
Description copied from interface: Count
Set the probability or odds that Symbol s is emited by this state.

Specified by:
increaseCount in interface Count
Parameters:
s - the Symbol emitted
c - the delta to add to the count for the Symbol
Throws:
IllegalSymbolException - if s is not from this state's alphabet, or if it is an ambiguity symbol and the implementation can't handle this case
ChangeVetoException - if this Count does not allow counts to be tampered with, or if one of the listeners vetoed this change

setCounts

public void setCounts(Count c)
               throws IllegalAlphabetException,
                      ChangeVetoException
Description copied from interface: Count
Set the counts in this Counts to be equal to the counts in c.

Specified by:
setCounts in interface Count
Parameters:
c - the Count object to copy the counts from
Throws:
ChangeVetoException - if this Count does not allow the counts to be tampered with, or if one of the listeners vetoed this change
IllegalAlphabetException - if c has a different Alphabet to this Count

zeroCounts

public void zeroCounts()
                throws ChangeVetoException
Description copied from interface: Count
Reset all the counts to zero.

Specified by:
zeroCounts in interface Count
Throws:
ChangeVetoException - if this Count does not allow the counts to be tampered with, or if one of the listeners vetoed this change