## org.biojavax.bio.db
Class HashBioEntryDB

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojavax.bio.db.AbstractBioEntryDB
              org.biojavax.bio.db.HashBioEntryDB

All Implemented Interfaces:
  Changeable, BioEntryDB, BioEntryDBLite

    public class HashBioEntryDB

extends AbstractBioEntryDB
implements BioEntryDB

An implementation of RichSequenceDB that uses an underlying HashMap to store the RichSequence objects.

Since:
  1.5
Author:
  Matthew Pocock, Gerald Loeffler, Richard Holland

Field Summary

Fields inherited from interface org.biojavax.bio.db.BioEntryDBLite
`BIOENTRYS`

Constructor Summary
`HashBioEntryDB()` Generate a HashRichSequenceDB object that will use byName to generate ids for sequences and have a null name.
`HashBioEntryDB(String name)` Generate a HashRichSequenceDB object that will use byName to generate ids and will have the requested name.

Method Summary
`void` `addBioEntry(BioEntry seq)` Add a BioEntry, the name of the BioEntry will be used as the ID
`protected void` `addBioEntry(String id, BioEntry seq)`
`BioEntry` `getBioEntry(String id)` Retrieve a single BioEntry by its id.
`BioEntryDB` `getBioEntrys(Set ids)` Retrieve multiple BioEntry by their ids.
`BioEntryDB` `getBioEntrys(Set ids, BioEntryDB db)` Retrieve multiple BioEntry into a specific sequence database.
`String` `getName()` Get the name of this sequence database.
`Set` `ids()` Get an immutable set of all of the IDs in the database.
`void` `removeBioEntry(String id)` Remove the BioEntry associated with an ID from the database.

Methods inherited from class org.biojavax.bio.db.AbstractBioEntryDB
`getBioEntryIterator`

Methods inherited from class org.biojava.utils.AbstractChangeable
`addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, 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.biojavax.bio.db.BioEntryDB
`getBioEntryIterator`

Constructor Detail

### HashBioEntryDB

    public HashBioEntryDB()

  Generate a HashRichSequenceDB object that will use byName to generate ids for sequences and have a null name.

### HashBioEntryDB

    public HashBioEntryDB(String name)

  Generate a HashRichSequenceDB object that will use byName to generate ids and will have the requested name.

  Parameters:
    `name` - the name for this database

Method Detail

### getName

    public String getName()

  Description copied from interface: `BioEntryDBLite`
  Get the name of this sequence database.

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

### getBioEntry

    public BioEntry getBioEntry(String id)
                         throws BioException,
                                IllegalIDException

  Description copied from interface: `BioEntryDBLite`
  Retrieve a single BioEntry by its id.

  Specified by:
    `getBioEntry` in interface `BioEntryDBLite`
  Parameters:
    `id` - the id to retrieve by
  Returns:
    the BioEntry with that id
  Throws:
    `IllegalIDException` - if the database doesn't know about the id
    `BioException` - if there was a failure in retrieving the BioEntry

### getBioEntrys

    public BioEntryDB getBioEntrys(Set ids)
                            throws BioException,
                                   IllegalIDException

  Description copied from interface: `BioEntryDBLite`
  Retrieve multiple BioEntry by their ids.

  Specified by:
    `getBioEntrys` in interface `BioEntryDBLite`
  Parameters:
    `ids` - a set of ids to retrieve by
  Returns:
    the BioEntrys with those ids
  Throws:
    `IllegalIDException` - if the database doesn't know about the id
    `BioException`

### getBioEntrys

    public BioEntryDB getBioEntrys(Set ids,
                                   BioEntryDB db)
                            throws BioException,
                                   IllegalIDException

  Description copied from interface: `BioEntryDBLite`
  Retrieve multiple BioEntry into a specific sequence database. If that database is null, a new HashBioEntryDB is used.

  Specified by:
    `getBioEntrys` in interface `BioEntryDBLite`
  Parameters:
    `ids` - a set of ids to retrieve by
    `db` - a database to load the seqs into
  Returns:
    the BioEntrys with that id
  Throws:
    `IllegalIDException` - if the database doesn't know about the id
    `BioException`

### ids

    public Set ids()

  Description copied from interface: `BioEntryDB`
  Get an immutable set of all of the IDs in the database. The ids are legal arguments to getBioEntry.

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

### addBioEntry

    public void addBioEntry(BioEntry seq)
                     throws IllegalIDException,
                            BioException,
                            ChangeVetoException

  Add a BioEntry, the name of the BioEntry will be used as the ID

  Specified by:
    `addBioEntry` in interface `BioEntryDBLite`
  Overrides:
    `addBioEntry` in class `AbstractBioEntryDB`
  Parameters:
    `seq` - the BioEntry to add
  Throws:
    `ChangeVetoException` - if this addition was vetoed
    `IllegalIDException` - if a uniqe ID could not be generated for BioEntry
    `BioException` - if something goes wrong with adding the BioEntry

### addBioEntry

    protected void addBioEntry(String id,
                               BioEntry seq)
                        throws IllegalIDException,
                               BioException,
                               ChangeVetoException

  Throws:
    `IllegalIDException`
    `BioException`
    `ChangeVetoException`

### removeBioEntry

    public void removeBioEntry(String id)
                        throws IllegalIDException,
                               BioException,
                               ChangeVetoException

  Description copied from interface: `BioEntryDBLite`
  Remove the BioEntry associated with an ID from the database.

  Specified by:
    `removeBioEntry` in interface `BioEntryDBLite`
  Overrides:
    `removeBioEntry` in class `AbstractBioEntryDB`
  Parameters:
    `id` - the ID of the BioEntry to remove
  Throws:
    `IllegalIDException` - if there is no BioEntry for the ID
    `BioException` - if something failed while removing the BioEntry for that ID
    `ChangeVetoException` - if either the database does not allow BioEntrys to be removed or the modification was vetoed