Package org.biojava.bio.seq.distributed
Class DistributedSequenceDB
- java.lang.Object
-
- org.biojava.utils.AbstractChangeable
-
- org.biojava.bio.seq.db.AbstractSequenceDB
-
- org.biojava.bio.seq.distributed.DistributedSequenceDB
-
- All Implemented Interfaces:
SequenceDB
,SequenceDBLite
,Changeable
public class DistributedSequenceDB extends AbstractSequenceDB implements SequenceDB
Sequence database from the meta-DAS system.- Since:
- 1.2 Once you've made one of these and populated it with a few DistDataSource instances, you should be able to prety much forget about it and use it directly as a normal SequenceDB implementation. DataSources can be added and removed while the object is live.
- Author:
- Thomas Down, Matthew Pocock
-
-
Field Summary
Fields Modifier and Type Field Description static ChangeType
DATASOURCE
static ChangeType
DATASOURCE_SELECTION
-
Fields inherited from interface org.biojava.bio.seq.db.SequenceDBLite
SEQUENCES
-
-
Constructor Summary
Constructors Constructor Description DistributedSequenceDB()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDataSource(DistDataSource dds)
Add a distributed data source.void
addSequence(Sequence seq)
Adds a sequence to the database.protected ChangeSupport
getChangeSupport()
Set
getDataSources()
Get the current set of all currently registered data sources.String
getName()
Get the name of this sequence database.Sequence
getSequence(String id)
Retrieve a single sequence by its id.protected boolean
hasChangeSupport()
Set
ids()
Get an immutable set of all of the IDs in the database.void
removeDataSource(DistDataSource dds)
Remove a distributed data source.void
removeSequence(String id)
Remove the sequence associated with an ID from the database.-
Methods inherited from class org.biojava.bio.seq.db.AbstractSequenceDB
filter, sequenceIterator
-
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.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
-
Methods inherited from interface org.biojava.bio.seq.db.SequenceDB
filter, sequenceIterator
-
-
-
-
Field Detail
-
DATASOURCE
public static final ChangeType DATASOURCE
-
DATASOURCE_SELECTION
public static final ChangeType DATASOURCE_SELECTION
-
-
Constructor Detail
-
DistributedSequenceDB
public DistributedSequenceDB()
-
-
Method Detail
-
hasChangeSupport
protected boolean hasChangeSupport()
-
getChangeSupport
protected ChangeSupport getChangeSupport()
-
getDataSources
public Set getDataSources()
Get the current set of all currently registered data sources.The returned Set is totaly independant of any future changes made to the distributed sequence DB.
- Returns:
- a new Set containing all DistDataSource instances registered at the time
-
addDataSource
public void addDataSource(DistDataSource dds) throws ChangeVetoException
Add a distributed data source.- Parameters:
dds
- the DistDataSource to add- Throws:
ChangeVetoException
- if the data source could not be added
-
removeDataSource
public void removeDataSource(DistDataSource dds) throws ChangeVetoException
Remove a distributed data source.- Parameters:
dds
- the DistributedDataSource to remove- Throws:
ChangeVetoException
- if the data source could not be removed
-
getName
public String getName()
Description copied from interface:SequenceDBLite
Get the name of this sequence database.- Specified by:
getName
in interfaceSequenceDBLite
- Returns:
- the name of the sequence database, which may be null.
-
addSequence
public void addSequence(Sequence seq) throws ChangeVetoException
Description copied from interface:SequenceDBLite
Adds a sequence to the database.- Specified by:
addSequence
in interfaceSequenceDBLite
- Overrides:
addSequence
in classAbstractSequenceDB
- Parameters:
seq
- the Sequence to add- Throws:
ChangeVetoException
- if either the database does not allow sequences to be added or the modification was vetoed
-
removeSequence
public void removeSequence(String id) throws ChangeVetoException
Description copied from interface:SequenceDBLite
Remove the sequence associated with an ID from the database.- Specified by:
removeSequence
in interfaceSequenceDBLite
- Overrides:
removeSequence
in classAbstractSequenceDB
- Parameters:
id
- the ID of the sequence to remove- Throws:
ChangeVetoException
- if either the database does not allow sequences to be removed or the modification was vetoed
-
getSequence
public Sequence getSequence(String id) throws IllegalIDException, BioException
Description copied from interface:SequenceDBLite
Retrieve a single sequence by its id.- Specified by:
getSequence
in interfaceSequenceDBLite
- Parameters:
id
- the id to retrieve by- Returns:
- the Sequence with that id
- Throws:
IllegalIDException
- if the database doesn't know about the idBioException
- 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.- Specified by:
ids
in interfaceSequenceDB
- Returns:
- a Set of ids - at the moment, strings
-
-