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

public class IntervallPuffer<T extends IIntervallDatum<T>> extends Object
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!!!
  • Field Details

  • Constructor Details

    • IntervallPuffer

      public IntervallPuffer()
  • Method Details

    • loescheAllesUnterhalbVon

      public final void loescheAllesUnterhalbVon(long startIntervall) throws IntervallPufferException
      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

      public final void add(IIntervallPufferElement<T> element) throws IntervallPufferException
      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

      public String toString()
      Overrides:
      toString in class Object
    • getPuffer

      public List<IntervallPuffer<T>.Intervall<T>> getPuffer()
      liefert eine sortierte Liste der Daten des Puffers.
      Returns:
      die Daten des Puffers.