jebl.evolution.sequences
Class BasicSequence

java.lang.Object
  extended by jebl.evolution.sequences.BasicSequence
All Implemented Interfaces:
Comparable, Sequence, Attributable

public class BasicSequence
extends Object
implements Sequence

A default implementation of the Sequence interface.

Author:
Andrew Rambaut, Alexei Drummond

Nested Class Summary
 
Nested classes/interfaces inherited from interface jebl.util.Attributable
Attributable.Utils
 
Constructor Summary
BasicSequence(SequenceType sequenceType, Taxon taxon, CharSequence sequenceString)
          Creates a sequence with a name corresponding to the taxon name.
BasicSequence(SequenceType sequenceType, Taxon taxon, State[] states)
          Creates a sequence with a name corresponding to the taxon name
 
Method Summary
 int compareTo(Object o)
          Sequences are compared by their taxa
 Object getAttribute(String name)
           
 Map<String,Object> getAttributeMap()
          Gets the entire attribute map.
 Set<String> getAttributeNames()
           
 String getCleanString()
           
 int getLength()
          Returns the length of the sequence
 SequenceType getSequenceType()
           
 State getState(int site)
           
 byte[] getStateIndices()
           
 State[] getStates()
           
 String getString()
           
 Taxon getTaxon()
           
 void removeAttribute(String name)
           
 void setAttribute(String name, Object value)
          Sets an named attribute for this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicSequence

public BasicSequence(SequenceType sequenceType,
                     Taxon taxon,
                     CharSequence sequenceString)
Creates a sequence with a name corresponding to the taxon name. Use CharSequence so both a String and a StringBuilder are fine

Parameters:
taxon -
sequenceString -

BasicSequence

public BasicSequence(SequenceType sequenceType,
                     Taxon taxon,
                     State[] states)
Creates a sequence with a name corresponding to the taxon name

Parameters:
taxon -
sequenceType -
states -
Method Detail

getSequenceType

public SequenceType getSequenceType()
Specified by:
getSequenceType in interface Sequence
Returns:
the type of symbols that this sequence is made up of.

getString

public String getString()
Specified by:
getString in interface Sequence
Returns:
a string representing the sequence of symbols.

getCleanString

public String getCleanString()

getStates

public State[] getStates()
Specified by:
getStates in interface Sequence
Returns:
an array of state objects.

getStateIndices

public byte[] getStateIndices()
Specified by:
getStateIndices in interface Sequence
Returns:
an array of state indices.

getState

public State getState(int site)
Specified by:
getState in interface Sequence
Returns:
the state at site.

getLength

public int getLength()
Returns the length of the sequence

Specified by:
getLength in interface Sequence
Returns:
the length

getTaxon

public Taxon getTaxon()
Specified by:
getTaxon in interface Sequence
Returns:
that taxon that this sequence represents (primarily used to match sequences with tree nodes)

compareTo

public int compareTo(Object o)
Sequences are compared by their taxa

Specified by:
compareTo in interface Comparable
Parameters:
o - another sequence
Returns:
an integer

setAttribute

public void setAttribute(String name,
                         Object value)
Description copied from interface: Attributable
Sets an named attribute for this object.

Specified by:
setAttribute in interface Attributable
Parameters:
name - the name of the attribute.
value - the new value of the attribute.

getAttribute

public Object getAttribute(String name)
Specified by:
getAttribute in interface Attributable
Parameters:
name - the name of the attribute of interest.
Returns:
an object representing the named attributed for this object.

removeAttribute

public void removeAttribute(String name)
Specified by:
removeAttribute in interface Attributable
Parameters:
name - name of attribute to remove

getAttributeNames

public Set<String> getAttributeNames()
Specified by:
getAttributeNames in interface Attributable
Returns:
an array of the attributeNames that this object has.

getAttributeMap

public Map<String,Object> getAttributeMap()
Description copied from interface: Attributable
Gets the entire attribute map.

Specified by:
getAttributeMap in interface Attributable
Returns:
an unmodifiable map