org.biojava.bio.symbol
Class ChunkedSymbolList
java.lang.Object
org.biojava.utils.AbstractChangeable
org.biojava.bio.symbol.AbstractSymbolList
org.biojava.bio.symbol.ChunkedSymbolList
- All Implemented Interfaces:
- java.io.Serializable, SymbolList, Changeable
public class ChunkedSymbolList
- extends AbstractSymbolList
- implements java.io.Serializable
SymbolList implementation using constant-size chunks. Each chunk provides
the same number of symbols (except the last one, which may be shorter). When
a request for symbols comes in, firstly the apropreate chunk is located, and
then the symbols are extracted. This implementation is used in the IO package
to avoid allocating and re-allocating memory when the total length of the
symbol list is unknown. It can also be used when chunks are to be lazily
fetched from some high-latency stoorage by implementing a single lazy-fetch
SymbolList class and populating a ChunkedSymbolList with a complete
tile-path of them.
- Author:
- David Huen, Matthew Pocock
- See Also:
- Serialized Form
Method Summary |
protected void |
finalize()
|
Alphabet |
getAlphabet()
The alphabet that this SymbolList is over. |
int |
length()
The number of symbols in this SymbolList. |
SymbolList |
subList(int start,
int end)
Return a new SymbolList for the symbols start to end inclusive. |
Symbol |
symbolAt(int pos)
Return the symbol at index, counting from 1. |
Methods inherited from class java.lang.Object |
clone, getClass, notify, notifyAll, wait, wait, wait |
ChunkedSymbolList
public ChunkedSymbolList(SymbolList[] chunks,
int chunkSize,
int length,
Alphabet alpha)
finalize
protected void finalize()
throws java.lang.Throwable
- Overrides:
finalize
in class java.lang.Object
- Throws:
java.lang.Throwable
getAlphabet
public Alphabet getAlphabet()
- Description copied from interface:
SymbolList
- The alphabet that this SymbolList is over.
Every symbol within this SymbolList is a member of this alphabet.
alphabet.contains(symbol) == true
for each symbol that is within this sequence.
- Specified by:
getAlphabet
in interface SymbolList
- Returns:
- the alphabet
length
public int length()
- Description copied from interface:
SymbolList
- The number of symbols in this SymbolList.
- Specified by:
length
in interface SymbolList
- Returns:
- the length
symbolAt
public Symbol symbolAt(int pos)
- Description copied from interface:
SymbolList
- Return the symbol at index, counting from 1.
- Specified by:
symbolAt
in interface SymbolList
- Parameters:
pos
- the offset into this SymbolList
- Returns:
- the Symbol at that index
subList
public SymbolList subList(int start,
int end)
- Description copied from interface:
SymbolList
- Return a new SymbolList for the symbols start to end inclusive.
The resulting SymbolList will count from 1 to (end-start + 1) inclusive, and
refer to the symbols start to end of the original sequence.
- Specified by:
subList
in interface SymbolList
- Overrides:
subList
in class AbstractSymbolList
- Parameters:
start
- the first symbol of the new SymbolListend
- the last symbol (inclusive) of the new SymbolList