Class IMDSBuilder


  • public class IMDSBuilder
    extends java.lang.Object
    InterMediateDataSetBuilder Erzeugt Ausgangsdatensätze und legt sie in einem Puffer ab.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected de.bsvrz.sys.funclib.losb.ringbuffer.RingBuffer<ValueContainer> _realElementValues
      Puffer, der die Zuordnung: Reale Elemente -> Werte enthält.
    • Method Summary

      Modifier and Type Method Description
      void collectData​(boolean insertEmpty, long winnerTimeStamp)
      Sammelt die Werte der realen Attribute.
      void createIntermediateDataSet​(boolean done)
      Bereitet die Basisdaten auf und erstellt Ausgangsdatensätze.
      byte getStatus()
      Liefert den momentanen Status zurück.
      boolean isDone()
      Zeigt an dass keine weiteren Daten mehr vorliegen.
      void nextInterval​(long endOfInterval)
      Markiert den zuletzt eingefügten Ausgangsdatensatz als den letzten des Intervalls.
      void throwAway()
      Verwirft den zuletzt eingefügten Datensatz
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _realElementValues

        protected de.bsvrz.sys.funclib.losb.ringbuffer.RingBuffer<ValueContainer> _realElementValues
        Puffer, der die Zuordnung: Reale Elemente -> Werte enthält.
    • Constructor Detail

      • IMDSBuilder

        public IMDSBuilder​(boolean merge,
                           boolean noChangeMarkerPerCell,
                           java.util.List<Elements> attributes,
                           de.bsvrz.sys.funclib.losb.util.Tuple<ExpressionTree,​java.lang.Boolean> constraint,
                           java.util.Hashtable<RealElement,​ValueProvider> realElements,
                           java.util.Hashtable<TempAttributeDescription,​TempAttribut> tempElements,
                           ProcessingBuffer processingBuffer,
                           Status status,
                           int startPeriodIndex)
        Initialisierung.
        Parameters:
        merge - true falls Datensätze verschmolzen werden sollen.
        noChangeMarkerPerCell - true wenn NoChange-Informationen für Zustandsprotokolle pro Zelle generiert werden sollen (statt pro Zeile)
        attributes - Im Spalten-Bereich definierte Attribute.
        constraint - Im Skript definierte Einschränlung.
        realElements - Zuordnung der realen Attribute zu ihren Wertebeschaffern.
        tempElements - Zuordnung der temporären Attribute zu ihren Wertebeschaffern.
        processingBuffer - Datenaufbereiter.
        status - Objekt zur Statusberechung.
        startPeriodIndex - StartPeriodIndex
    • Method Detail

      • collectData

        public void collectData​(boolean insertEmpty,
                                long winnerTimeStamp)
        Sammelt die Werte der realen Attribute. Stellt dann einen Basisdatensatz mit den Werten der realen Attribute zusammen.
        Parameters:
        insertEmpty - true legt fest, dass ein leerer Datensatz eingefügt werden soll.
        winnerTimeStamp - Minimaler, nicht-aufgefüllter Zeitstempel.
      • createIntermediateDataSet

        public void createIntermediateDataSet​(boolean done)
                                       throws java.lang.InterruptedException,
                                              de.bsvrz.sys.funclib.losb.exceptions.FailureException
        Bereitet die Basisdaten auf und erstellt Ausgangsdatensätze. Wertet alle im Puffer liegenden Wert aus.
        Parameters:
        done - Das Sammeln der Daten wurde abgeschlossen.
        Throws:
        java.lang.InterruptedException - Datenaufbereitung wurde abgebrochen
        de.bsvrz.sys.funclib.losb.exceptions.FailureException - Fehler beim Aufbereiten der Daten.
      • isDone

        public boolean isDone()
        Zeigt an dass keine weiteren Daten mehr vorliegen.
        Returns:
        true falls keine weiteren Daten mehr vorliegen.
      • nextInterval

        public void nextInterval​(long endOfInterval)
        Markiert den zuletzt eingefügten Ausgangsdatensatz als den letzten des Intervalls.
        Parameters:
        endOfInterval - Endzeitpunkt des Intervalls, das gerade beendet wurde.
        See Also:
        ValueContainer.setLastOfInterval(long)
      • getStatus

        public byte getStatus()
        Liefert den momentanen Status zurück.
        Returns:
        Status zwischen 0 und 100.
      • throwAway

        public void throwAway()
                       throws java.lang.InterruptedException
        Verwirft den zuletzt eingefügten Datensatz
        Throws:
        java.lang.InterruptedException - Exception