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 | 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() |
boolean |
readNextDataHdr()
Prueft, ob ein weiterer Datensatz verfuegbar ist.
|
void |
skipData()
Ueberspringt den Datensatz dessen Header-Daten zuvor mittels
readNextDataHdr() eingelesen worden sind. |
public 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()
public boolean isHdrMaxVal()
public boolean isData()
public boolean isNoData()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine “keine Daten”-Markierung besitzt.
public boolean isNoRights()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine “keine Rechte”-Markierung besitzt.
public boolean isNoSource()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz eine “keine Quelle”-Markierung besitzt.
public boolean isPotDataGap()
Nachdem readNextDataHdr()
aufgerufen wurde, gibt diese Methode an, ob der eingelesene Datensatz als “potentielle Datenluecke” gekennzeichnet wurde.
public ArchiveDataKind getArchiveDataKind()
public int getDataSize()
public int getDataUncSize()