T - The type of BaseEntity the list will containpublic class MemoryVariableList<T extends BaseEntity> extends MemoryBaseList<T>
Entities in the underlying data structure are either fixed length where the data that represents them always contains the same number of bytes, or variable length where the number of bytes to represent the entity varies.
This class uses the offset of the first byte of the entities data in the underlying data structure in the accessor. As such the list isn't being used as a traditional list because items are not retrieved by their index in the list, but by there offset in the underlying data structure.
The constructor will read the header information about the underlying data structure and the entities are added to the list when the Read method is called.
The class supports source stream that do not support seeking.
Objects of this class should not be created directly as they are part of the internal logic.
array, dataSet, entityFactory, header| Constructor and Description |
|---|
MemoryVariableList(Dataset dataSet,
BinaryReader reader,
BaseEntityFactory<T> entityFactory)
Constructs a new instance of VariableList of type T.
|
| Modifier and Type | Method and Description |
|---|---|
T |
get(int offset)
Accessor for the variable list.
|
void |
read(BinaryReader reader)
Reads the list into memory.
|
close, iterator, sizeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorpublic MemoryVariableList(Dataset dataSet, BinaryReader reader, BaseEntityFactory<T> entityFactory)
dataSet - The DetectorDataSet being created.reader - Reader connected to the source data structure and
positioned to start reading.entityFactory - Interface implementation used to create and size new
entities of type T.public void read(BinaryReader reader) throws IOException
read in class MemoryBaseList<T extends BaseEntity>reader - Reader connected to the source data structure and
positioned to start reading.IOException - if there was a problem accessing data file.public T get(int offset) throws IOException
As all the entities are held in memory and in ascending order of offset a BinarySearch can be used to determine the one that relates to the given offset rapidly.
offset - The offset position in the data structure to the entity to
be returned from the list.IOException - if there was a problem accessing data file.Copyright © 2015 51Degrees. All rights reserved.