Package org.biojava.bio.seq.db
Interface IndexStore
- All Known Implementing Classes:
BioIndex
,EmblCDROMIndexStore
,TabIndexStore
public interface IndexStore
This defines the objects that IndexedSequenceDB uses to store all of the
database state, such as name, format, sequence builder and the actual file
offsets.
You should only ever have to instantiate an implementation of this. Don't
call any of the inerface methods directly. They are intended for
IndexedSequenceDB, not you.
In general, these objects should be transactional. Calls to store should add
the index to temporary storage. When commit is invoked, these indices should
all be added to the permanent storage. When rollback is invoked, these
indexes should be discarded. If commit fails for any reason, it should leave
the permanent storage in the pre-commit status.
- Author:
- Matthew Pocock
-
Method Summary
Modifier and TypeMethodDescriptionvoid
commit()
Commit the stored indices to permanent storage.Fetch an Index based upon an ID.getFiles()
Retrieve the Set of files that are currently indexed.Retrieve the format of the index file.getIDs()
Retrieve the set of all current IDs.getName()
Retrieve the name of this store.Retrieve the SequenceBuilderFactory used to build Sequence instances.Retrieve the symbol parser used to turn the sequence characters into Symobl objects.void
rollback()
Discard all uncommited changes.void
Add the Index to the store.
-
Method Details
-
store
Add the Index to the store.This method should be transactional. If the store fails, the IndexStore should be left in its original state.
If the file of the Index is not known yet, it is the responsibility of the IndexStore to add it to the set returned by getFiles.
- Parameters:
indx
- the Index to add- Throws:
IllegalIDException
- if the index has an invalid ID fieldBioException
- if the store failed
-
commit
Commit the stored indices to permanent storage.- Throws:
BioException
- if for any reason the commit fails
-
rollback
void rollback()Discard all uncommited changes. -
fetch
Fetch an Index based upon an ID.- Parameters:
id
- The ID of the sequence Index to retrieve- Throws:
IllegalIDException
- if the ID couldn't be foundBioException
- if the fetch fails in the underlying storage mechanism
-
getName
Retrieve the name of this store. This will be reflected as the name of the IndexedSequenceDB.- Returns:
- the String name of the index
-
getIDs
Retrieve the set of all current IDs.This set should either be immutable, or modifiable totally separately from the IndexStore.
- Returns:
- a Set of all legal IDs
-
getFiles
Retrieve the Set of files that are currently indexed. -
getFormat
Retrieve the format of the index file.This set should either be immutable, or modifiable totally separately from the IndexStore.
- Returns:
- a Set of all indexed files
-
getSBFactory
Retrieve the SequenceBuilderFactory used to build Sequence instances.- Returns:
- the associated SequenceBuilderFactory
-
getSymbolParser
Retrieve the symbol parser used to turn the sequence characters into Symobl objects.- Returns:
- the associated SymbolParser
-