## org.biojava.bio.seq.db
Class CachingSequenceDB

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojava.bio.seq.db.AbstractSequenceDB
              org.biojava.bio.seq.db.SequenceDBWrapper
                  org.biojava.bio.seq.db.CachingSequenceDB

All Implemented Interfaces:
  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
`String` `getName()` Get the name of this sequence database.
`Sequence` `getSequence(String id)` Retrieve a single sequence by its id.
`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 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(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 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