Class IntervallPuffer<T extends IIntervallDatum<T>>
java.lang.Object
de.bsvrz.sys.funclib.bitctrl.dua.intpuf.IntervallPuffer<T>
- Type Parameters:
T- die Objektart, ueber die sich die Gleichheit bzw. Ungleichheit
Temporaerer Puffer fuer grosse Datenmengen, deren einzelne Bestandteile
(Datensaetze) chronologisch aufeinanderfolgen und deren Eigenschaften sich
relativ selten aendern
Achtung: Puffer funktioniert nur fuer chronologisch einlaufende Daten TODO Mal optimieren und nicht immer ueber den ganzen Puffer iterieren!!!
Achtung: Puffer funktioniert nur fuer chronologisch einlaufende Daten TODO Mal optimieren und nicht immer ueber den ganzen Puffer iterieren!!!
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classIntervallPuffer.Intervall<T1 extends IIntervallDatum<T1>>Speichert jeweils kompatible Daten innerhalb eines Intervalls.. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidadd(IIntervallPufferElement<T> element) Fuegt diesem Puffer ein neues Element hinzu.liefert eine sortierte Liste der Daten des Puffers.final longErfragt die Anzahl der im Puffer gespeicherten Elemente.final voidloescheAllesUnterhalbVon(long startIntervall) Loescht alle Daten aus dem Puffer, die aelter als der uebergebene Zeitstempel sind.toString()
-
Field Details
-
puffer
protected final SortedMap<Long,IntervallPuffer<T extends IIntervallDatum<T>>.Intervall<T extends IIntervallDatum<T>>> pufferSpeichert die Daten.
-
-
Constructor Details
-
IntervallPuffer
public IntervallPuffer()
-
-
Method Details
-
loescheAllesUnterhalbVon
Loescht alle Daten aus dem Puffer, die aelter als der uebergebene Zeitstempel sind.- Parameters:
startIntervall- der neue Intervallbegin dieses Puffers- Throws:
IntervallPufferException- wenn das obere Ende des Intervalls vor dem neuen unteren Ende liegt
-
add
Fuegt diesem Puffer ein neues Element hinzu.- Parameters:
element- eine neues Pufferelement- Throws:
IntervallPufferException- wenn das obere Ende des Intervalls vor dem unteren Ende liegt
-
getSpeicherAuslastung
public final long getSpeicherAuslastung()Erfragt die Anzahl der im Puffer gespeicherten Elemente.- Returns:
- die Anzahl der im Puffer gespeicherten Elemente
-
toString
-
getPuffer
liefert eine sortierte Liste der Daten des Puffers.- Returns:
- die Daten des Puffers.
-