org.biojava.bio.seq.db
Class HashSequenceDB

java.lang.Object
  extended byorg.biojava.utils.AbstractChangeable
      extended byorg.biojava.bio.seq.db.AbstractSequenceDB
          extended byorg.biojava.bio.seq.db.HashSequenceDB
All Implemented Interfaces:
Changeable, SequenceDB, SequenceDBLite, java.io.Serializable

public class HashSequenceDB
extends AbstractSequenceDB
implements SequenceDB, java.io.Serializable

An implementation of SequenceDB that uses an underlying HashMap to store the sequence objects.

Author:
Matthew Pocock, Gerald Loeffler
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.biojava.bio.seq.db.SequenceDBLite
SEQUENCES
 
Constructor Summary
HashSequenceDB()
          Generate a HashSequenceDB object that will use byName to generate ids for sequences and have a null name.
HashSequenceDB(IDMaker idMaker)
          Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have a null name.
HashSequenceDB(IDMaker idMaker, java.lang.String name)
          Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have the requested name.
HashSequenceDB(java.lang.String name)
          Generate a HashSequenceDB object that will use byName to generate ids and will have the requested name.
 
Method Summary
 void addSequence(Sequence seq)
          Adds a sequence to the database.
 void addSequence(java.lang.String id, Sequence seq)
          Add a sequence under a particular id.
 IDMaker getIDMaker()
          Retrieve the IDMaker associated with this database.
 java.lang.String getName()
          Get the name of this sequence database.
 Sequence getSequence(java.lang.String id)
          Retrieve a single sequence by its id.
 java.util.Set ids()
          Get an immutable set of all of the IDs in the database.
 void removeSequence(java.lang.String id)
          Remove the sequence associated with an ID from the database.
 SequenceIterator sequenceIterator()
          Returns a SequenceIterator over all sequences in the database.
 
Methods inherited from class org.biojava.bio.seq.db.AbstractSequenceDB
filter
 
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.bio.seq.db.SequenceDB
filter
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

HashSequenceDB

public HashSequenceDB()
Generate a HashSequenceDB object that will use byName to generate ids for sequences and have a null name.


HashSequenceDB

public HashSequenceDB(IDMaker idMaker)
Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have a null name.

Parameters:
idMaker - the object that will work out the default id for a sequence

HashSequenceDB

public HashSequenceDB(java.lang.String name)
Generate a HashSequenceDB object that will use byName to generate ids and will have the requested name.

Parameters:
name - the name for this database

HashSequenceDB

public HashSequenceDB(IDMaker idMaker,
                      java.lang.String name)
Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have the requested name.

Parameters:
idMaker - the object that will work out the default id for a sequence
name - the name for this database
Method Detail

getName

public java.lang.String getName()
Description copied from interface: SequenceDBLite
Get the name of this sequence database.

Specified by:
getName in interface SequenceDBLite
Returns:
the name of the sequence database, which may be null.

getSequence

public Sequence getSequence(java.lang.String id)
                     throws IllegalIDException
Description copied from interface: SequenceDBLite
Retrieve a single sequence by its id.

Specified by:
getSequence in interface SequenceDBLite
Returns:
the Sequence with that id
Throws:
IllegalIDException - if the database doesn't know about the id

ids

public java.util.Set ids()
Description copied from interface: SequenceDB
Get an immutable set of all of the IDs in the database. The ids are legal arguments to getSequence.

Specified by:
ids in interface SequenceDB
Returns:
a Set of ids - at the moment, strings

sequenceIterator

public SequenceIterator sequenceIterator()
Description copied from interface: SequenceDB
Returns a SequenceIterator over all sequences in the database. The order of retrieval is undefined.

Specified by:
sequenceIterator in interface SequenceDB
Overrides:
sequenceIterator in class AbstractSequenceDB

addSequence

public void addSequence(java.lang.String id,
                        Sequence seq)
                 throws ChangeVetoException
Add a sequence under a particular id.

Parameters:
id - the id to use
seq - the Sequence to add
Throws:
ChangeVetoException - if this addition was vetoed

getIDMaker

public IDMaker getIDMaker()
Retrieve the IDMaker associated with this database.

Returns:
the current IDMaker object

addSequence

public void addSequence(Sequence seq)
                 throws ChangeVetoException
Description copied from interface: SequenceDBLite
Adds a sequence to the database.

Specified by:
addSequence in interface SequenceDBLite
Overrides:
addSequence in class AbstractSequenceDB
Throws:
ChangeVetoException

removeSequence

public void removeSequence(java.lang.String id)
                    throws BioException,
                           ChangeVetoException
Description copied from interface: SequenceDBLite
Remove the sequence associated with an ID from the database.

Specified by:
removeSequence in interface SequenceDBLite
Overrides:
removeSequence in class AbstractSequenceDB
Throws:
BioException
ChangeVetoException