public class ContainerDataIterator
extends java.lang.Object
Iterator für Datensätze, die ein Datencontainer auf Anfrage geliefert hat. Mit 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.
Beispiel:
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 für 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 für diesen Datensatz.
|
long |
getDataTime()
Liefert den Datenzeitstempel des Datensatzes dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
int |
getDataUncSize() |
java.lang.String |
getHeader() |
byte[] |
getRawData(java.util.zip.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 final 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)
Erzeugt einen neuen Iterator für das angegebene ContainerFile
-Objekt.
containerFile
- ContainerFilepublic boolean readNextDataHdr() throws PersistenceException
Prueft, ob ein weiterer Datensatz verfuegbar ist. Wenn dies der Fall ist, wird 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 java.lang.String getHeader()
public void close() throws PersistenceException
Schliesst den Iterator und verwirft die zu iterierende Ergebnis-Menge.
PersistenceException,
- falls ein Fehler in der Persistenz aufgetreten istPersistenceException
public byte[] getRawData(java.util.zip.Inflater decompresser) throws PersistenceException
Liefert den serialisierten Datensatz dessen Header-Daten zuvor mittels readNextDataHdr()
eingelesen worden sind. Der Datensatz kann komprimiert sein.
PersistenceException,
- falls ein Fehler in der Persistenz aufgetreten istPersistenceException
public void skipData() throws PersistenceException
Ueberspringt den Datensatz dessen Header-Daten zuvor mittels 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 Datensätze dekomprimiert und sie unkomprimiert verschickt. Ist deutlich schneller als das Dekomprimieren durch das Stream-Interface.public long getArcTime()
Liefert den Archivzeitstempel des Datensatzes dessen Header-Daten zuvor mittels readNextDataHdr()
eingelesen worden sind.
public long getDataIndex()
Liefert den Datenindex des Datensatzes dessen Header-Daten zuvor mittels readNextDataHdr()
eingelesen worden sind.
public long getTimeIndex(TimingType tt)
tt
- Datenzeit, Archivzeit, Datenindexpublic long getDataIndexLfdNr()
public long getDataTime()
Liefert den Datenzeitstempel des Datensatzes dessen Header-Daten zuvor mittels readNextDataHdr()
eingelesen worden sind.
public DataState getDataState()
Liefert die Markierung für diesen Datensatz.
public int getCounter()
Liefert die Position des Datensatzes dessen Header-Daten zuvor mittels readNextDataHdr()
eingelesen worden sind.
public boolean isHdrMinVal()
void setHdrMinVal(boolean hdrMinVal)
public boolean isHdrMaxVal()
void setHdrMaxVal(boolean hdrMaxVal)
public boolean isData()
public boolean isNoData()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine “keine Daten”-Markierung besitzt.
void setNodata(boolean isNodata)
Wird von der Persistenz benutzt, um die Markierung “keine Daten” des eingelesenen Datensatzes in diesem Iterator zu setzen.
isNodata
- public boolean isNoRights()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine “keine Rechte”-Markierung besitzt.
void setNoRights(boolean isNoRights)
Wird von der Persistenz benutzt, um die Markierung “keine Rechte” des eingelesenen Datensatzes in diesem Iterator zu setzen.
isNoRights
- public boolean isNoSource()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine “keine Quelle”-Markierung besitzt.
void setNoSource(boolean isNoSource)
Wird von der Persistenz benutzt, um die Markierung “keine Quelle” des eingelesenen Datensatzes in diesem Iterator zu setzen.
isNoSource
- public boolean isPotDataGap()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz als “potentielle Datenluecke” gekennzeichnet wurde.
void setPotDataGap(boolean isPotDataGap)
Wird von der Persistenz benutzt, um die Markierung “potentielle Datenluecke” des eingelesenen Datensatzes in diesem Iterator zu setzen.
isPotDataGap
- void setArcTime(long arcTime)
Wird von der Persistenz benutzt, um den Archivzeitstempel des eingelesenen Datensatzes in diesem Iterator zu setzen.
arcTime
- Archivzeitstempelvoid setDataIndex(long dataIndex)
Wird von der Persistenz benutzt, um den Datenindex des eingelesenen Datensatzes in diesem Iterator zu setzen.
dataIndex
- Datenindexvoid setDataTime(long dataTime)
Wird von der Persistenz benutzt, um den Datenzeitstempel des eingelesenen Datensatzes in diesem Iterator zu setzen.
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)
Wird von der Persistenz benutzt, um die Position des eingelesenen Datensatzes in diesem Iterator zu setzen.
counter
- Position des Datensatzes (0 = erster)boolean mustUseExtraBuffer()
void setUseExtraBuffer(boolean useExtraBuffer)