public class ContainerDataIterator extends Object
readNextDataHdr()
kann geprueft werden, ob ein weiterer Datensatz
verfuegbar ist. Falls ja, koennen seine Header-Daten mit getArcTime()
, etc. eingesehen werden und der Datensatz selbst mit #deserializeData()
abgeholt oder mit skipData()
uebersprungen werden. ContainerDataIterator it = myPersistenceManager.getArchiveData(...); while(it.readNextDataHdr()) { if (it.getDataIndex() > myBorder) { Data data = it.deserializeData(); } else { it.skipData(); } }
Modifier and Type | Field and Description |
---|---|
private long |
arcTime |
private ContainerFile |
containerFile |
private int |
counter |
private long |
dataIndex |
private ArchiveDataKind |
dataKind |
private int |
dataSize |
private long |
dataTime |
private int |
dataUncSize |
private boolean |
hdrMaxVal |
private boolean |
hdrMinVal |
private boolean |
isNodata |
private boolean |
isNoRights |
private boolean |
isNoSource |
private boolean |
isPotDataGap |
private boolean |
useExtraBuffer |
Constructor and Description |
---|
ContainerDataIterator(ContainerFile containerFile)
Erzeugt einen neuen Iterator fuer das angegebene
ContainerFile -Objekt. |
Modifier and Type | Method and Description |
---|---|
void |
close()
Schliesst den Iterator und verwirft die zu iterierende Ergebnis-Menge.
|
ArchiveDataKind |
getArchiveDataKind() |
long |
getArcTime()
Liefert den Archivzeitstempel des Datensatzes dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
int |
getCounter()
Liefert die Position des Datensatzes dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
long |
getDataIndex()
Liefert den Datenindex des Datensatzes dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
long |
getDataIndexLfdNr() |
int |
getDataSize() |
DataState |
getDataState()
Liefert die Markierung fuer diesen Datensatz.
|
long |
getDataTime()
Liefert den Datenzeitstempel des Datensatzes dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
int |
getDataUncSize() |
String |
getHeader() |
byte[] |
getRawData(Inflater decompresser)
Liefert den serialisierten Datensatz dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
long |
getTimeIndex(TimingType tt) |
boolean |
isCompressed() |
boolean |
isData() |
boolean |
isHdrMaxVal() |
boolean |
isHdrMinVal() |
boolean |
isNoData()
Nachdem
readNextDataHdr() aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine "keine Daten"-Markierung besitzt. |
boolean |
isNoRights()
Nachdem
readNextDataHdr() aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine "keine Rechte"-Markierung besitzt. |
boolean |
isNoSource()
Nachdem
readNextDataHdr() aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine "keine Quelle"-Markierung besitzt. |
boolean |
isPotDataGap()
Nachdem
readNextDataHdr() aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz als "potentielle Datenluecke" gekennzeichnet
wurde. |
boolean |
isStillCompressed() |
(package private) boolean |
mustUseExtraBuffer() |
boolean |
readNextDataHdr()
Prueft, ob ein weiterer Datensatz verfuegbar ist.
|
(package private) void |
setArchiveDataKind(ArchiveDataKind dataKind) |
(package private) void |
setArcTime(long arcTime)
Wird von der Persistenz benutzt, um den Archivzeitstempel des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setCounter(int counter)
Wird von der Persistenz benutzt, um die Position des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setDataIndex(long dataIndex)
Wird von der Persistenz benutzt, um den Datenindex des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setDataSize(int dataSize) |
(package private) void |
setDataTime(long dataTime)
Wird von der Persistenz benutzt, um den Datenzeitstempel des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setDataUncSize(int dataUncSize) |
(package private) void |
setHdrMaxVal(boolean hdrMaxVal) |
(package private) void |
setHdrMinVal(boolean hdrMinVal) |
(package private) void |
setNodata(boolean isNodata)
Wird von der Persistenz benutzt, um die Markierung "keine Daten" des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setNoRights(boolean isNoRights)
Wird von der Persistenz benutzt, um die Markierung "keine Rechte" des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setNoSource(boolean isNoSource)
Wird von der Persistenz benutzt, um die Markierung "keine Quelle" des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setPotDataGap(boolean isPotDataGap)
Wird von der Persistenz benutzt, um die Markierung "potentielle Datenluecke" des eingelesenen Datensatzes in diesem Iterator zu setzen.
|
(package private) void |
setUseExtraBuffer(boolean useExtraBuffer) |
void |
skipData()
Ueberspringt den Datensatz dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
private ContainerFile containerFile
private long dataTime
private long arcTime
private long dataIndex
private boolean isNoSource
private boolean isNodata
private boolean isPotDataGap
private boolean isNoRights
private boolean hdrMinVal
private boolean hdrMaxVal
private int counter
private int dataSize
private int dataUncSize
private ArchiveDataKind dataKind
private boolean useExtraBuffer
ContainerDataIterator(ContainerFile containerFile)
ContainerFile
-Objekt.containerFile
- ContainerFilepublic boolean readNextDataHdr() throws PersistenceException
true
zurueck geliefert und die Header-Daten des Datensatzes
koennen mit getArcTime()
, getDataTime()
und getDataIndex()
eingesehen werden. Der Datensatz selbst ist ueber die Methode #deserializeData()
abrufbar, oder kann mit der Methode skipData()
uebersprungen werden. Wenn kein Datensatz verfuegbar ist, wird
false
zurueck geliefert.PersistenceException,
- falls ein Fehler in der Persistenz aufgetreten istPersistenceException
public String getHeader()
public void close() throws PersistenceException
PersistenceException,
- falls ein Fehler in der Persistenz aufgetreten istPersistenceException
public byte[] getRawData(Inflater decompresser) throws PersistenceException
readNextDataHdr()
eingelesen worden sind. Der Datensatz kann komprimiert
sein.PersistenceException,
- falls ein Fehler in der Persistenz aufgetreten istPersistenceException
public void skipData() throws PersistenceException
readNextDataHdr()
eingelesen worden sind.PersistenceException,
- falls ein Fehler in der Persistenz aufgetreten istPersistenceException
public boolean isCompressed()
public boolean isStillCompressed()
#getRawData()
immer noch komprimiert ist. Das ArS kann so konfiguriert werden, dass es beim Lesen die
Datensaetze dekomprimiert und sie unkomprimiert verschickt. Ist deutlich schneller als das Dekomprimieren durch das Stream-Interface.public long getArcTime()
readNextDataHdr()
eingelesen worden sind.public long getDataIndex()
readNextDataHdr()
eingelesen worden sind.public long getTimeIndex(TimingType tt)
tt
- Datenzeit, Archivzeit, Datenindexpublic long getDataIndexLfdNr()
public long getDataTime()
readNextDataHdr()
eingelesen worden sind.public DataState getDataState()
public int getCounter()
readNextDataHdr()
eingelesen worden sind.public boolean isHdrMinVal()
void setHdrMinVal(boolean hdrMinVal)
public boolean isHdrMaxVal()
void setHdrMaxVal(boolean hdrMaxVal)
public boolean isData()
public boolean isNoData()
readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine "keine Daten"-Markierung besitzt.void setNodata(boolean isNodata)
isNodata
- public boolean isNoRights()
readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine "keine Rechte"-Markierung besitzt.void setNoRights(boolean isNoRights)
isNoRights
- public boolean isNoSource()
readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine "keine Quelle"-Markierung besitzt.void setNoSource(boolean isNoSource)
isNoSource
- public boolean isPotDataGap()
readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz als "potentielle Datenluecke" gekennzeichnet
wurde.void setPotDataGap(boolean isPotDataGap)
isPotDataGap
- void setArcTime(long arcTime)
arcTime
- Archivzeitstempelvoid setDataIndex(long dataIndex)
dataIndex
- Datenindexvoid setDataTime(long dataTime)
dataTime
- Datenzeitstempelpublic ArchiveDataKind getArchiveDataKind()
void setArchiveDataKind(ArchiveDataKind dataKind)
public int getDataSize()
void setDataSize(int dataSize)
public int getDataUncSize()
void setDataUncSize(int dataUncSize)
void setCounter(int counter)
counter
- Position des Datensatzes (0 = erster)boolean mustUseExtraBuffer()
void setUseExtraBuffer(boolean useExtraBuffer)