Package 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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.biojava.bio.symbol.AbstractSymbolList
AbstractSymbolList.EditScreener, AbstractSymbolList.EditTranslater
-
-
Field Summary
-
Fields inherited from interface org.biojava.bio.symbol.SymbolList
EDIT, EMPTY_LIST
-
-
Constructor Summary
Constructors Constructor Description ChunkedSymbolList(SymbolList[] chunks, int chunkSize, int length, Alphabet alpha)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfinalize()AlphabetgetAlphabet()The alphabet that this SymbolList is over.intlength()The number of symbols in this SymbolList.SymbolListsubList(int start, int end)Return a new SymbolList for the symbols start to end inclusive.SymbolsymbolAt(int pos)Return the symbol at index, counting from 1.-
Methods inherited from class org.biojava.bio.symbol.AbstractSymbolList
edit, equals, hashCode, iterator, seqString, subStr, toList, toString
-
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
-
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
-
-
-
-
Constructor Detail
-
ChunkedSymbolList
public ChunkedSymbolList(SymbolList[] chunks, int chunkSize, int length, Alphabet alpha)
-
-
Method Detail
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
getAlphabet
public Alphabet getAlphabet()
Description copied from interface:SymbolListThe alphabet that this SymbolList is over.Every symbol within this SymbolList is a member of this alphabet.
alphabet.contains(symbol) == truefor each symbol that is within this sequence.- Specified by:
getAlphabetin interfaceSymbolList- Returns:
- the alphabet
-
length
public int length()
Description copied from interface:SymbolListThe number of symbols in this SymbolList.- Specified by:
lengthin interfaceSymbolList- Returns:
- the length
-
symbolAt
public Symbol symbolAt(int pos)
Description copied from interface:SymbolListReturn the symbol at index, counting from 1.- Specified by:
symbolAtin interfaceSymbolList- 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:SymbolListReturn 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:
subListin interfaceSymbolList- Overrides:
subListin classAbstractSymbolList- Parameters:
start- the first symbol of the new SymbolListend- the last symbol (inclusive) of the new SymbolList
-
-