org.biojava.bio.seq.db
Class CachingSequenceDB

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojava.bio.seq.db.AbstractSequenceDB
          extended by org.biojava.bio.seq.db.SequenceDBWrapper
              extended by org.biojava.bio.seq.db.CachingSequenceDB
All Implemented Interfaces:
java.io.Serializable, SequenceDB, SequenceDBLite, Changeable

public class CachingSequenceDB
extends SequenceDBWrapper

SequenceDB implementation that caches the results of another SequenceDB.

Author:
Matthew Pocock
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.biojava.bio.seq.db.SequenceDBWrapper
SequenceDBWrapper.SequencesForwarder
 
Field Summary
 
Fields inherited from interface org.biojava.bio.seq.db.SequenceDBLite
SEQUENCES
 
Constructor Summary
CachingSequenceDB(SequenceDB parent)
          Create a new CachingSequenceDB that caches the sequences in parent.
 
Method Summary
 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.
 
Methods inherited from class org.biojava.bio.seq.db.SequenceDBWrapper
getChangeSupport, getParent
 
Methods inherited from class org.biojava.bio.seq.db.AbstractSequenceDB
addSequence, filter, removeSequence, sequenceIterator
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, 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.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

CachingSequenceDB

public CachingSequenceDB(SequenceDB parent)
Create a new CachingSequenceDB that caches the sequences in parent.

Parameters:
parent - the SequenceDB to cache
Method Detail

getName

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

Returns:
the name of the sequence database, which may be null.

getSequence

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

Parameters:
id - the id to retrieve by
Returns:
the Sequence with that id
Throws:
IllegalIDException - if the database doesn't know about the id
BioException - if there was a failure in retrieving the sequence

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.

Returns:
a Set of ids - at the moment, strings