Class Aggregator


  • public class Aggregator
    extends java.lang.Object
    Führt das Aggregieren von Daten durch. Spalten-Aggregation: Ein Aggregationsergebnis für alle Attribute, die sich nur im verwendeten Objekt unterscheiden. D.h. mehreren Attributen wird das gleiche Aggregationsobjekt zugeordnet. Objekt-Aggregation: Ein Aggregationsergebnis pro Attribut. Jedem einzelnen Attribut wird ein eigenes Aggregationsobjekt zugeordnet.
    • Method Summary

      Modifier and Type Method Description
      boolean aggregate​(java.util.List<BaseDataSet> bds)
      Führt die Aggregation durch.
      IntermediateDataSet[] endOfInterval​(byte status, int currentPeriod)
      Aggregationsdatensätze abrufen, die zum Ende eines Intervalls vorliegen.
      IntermediateDataSet[] endOfProtocol​(int currentPeriod)
      Aggregationsdatensätze abrufen, die zum Ende der Protokollerstellung vorliegen.
      int[] getLinkedAttributes()
      Zeigt an welche Attribute durch die Aggregation spalte zusammengefasst werden.
      boolean isListAggregation()
      Werden auch nicht aggregierte Daten versendet?
      • Methods inherited from class java.lang.Object

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

      • Aggregator

        public Aggregator​(ProcessingInformation pi)
                   throws de.bsvrz.sys.funclib.losb.exceptions.FailureException
        Parameters:
        pi - Informationen für die Datenaufbereitung.
        Throws:
        de.bsvrz.sys.funclib.losb.exceptions.FailureException - Fehler beim Anlegen von neuen Instanzen.
    • Method Detail

      • aggregate

        public boolean aggregate​(java.util.List<BaseDataSet> bds)
        Führt die Aggregation durch. Wird für jeden Ausgangsdatensatz einmal aufgreufen.
        Parameters:
        bds - Liste
        Returns:
        Falls der Ausgangsdatensatz an den Auftraggeber weitergeleitet werden soll. Dies ist der Fall, wenn die Anwendung "liste" verwendet wurde.
      • endOfInterval

        public IntermediateDataSet[] endOfInterval​(byte status,
                                                   int currentPeriod)
        Aggregationsdatensätze abrufen, die zum Ende eines Intervalls vorliegen. Muss aufgerufen werden, bevor die Aggregation für ein weiteres Intervall beginnt.
        Parameters:
        status - Status der dem Ausgangsadtensatz zugewiesen wird.
        currentPeriod - Aktueller Zeitbereich
        Returns:
        Feld mit Ergebnis der Aggregation für Intervall_Objekt in 0, und dem Ergebnis der Aggregation für Intervall_Spalte in 1. Die Einträge können null sein, falls keine Aggregationsdaten vorliegen.
      • endOfProtocol

        public IntermediateDataSet[] endOfProtocol​(int currentPeriod)
        Aggregationsdatensätze abrufen, die zum Ende der Protokollerstellung vorliegen.
        Parameters:
        currentPeriod - Aktueller Zeitbereich
        Returns:
        Feld mit dem Ergebnis der Aggregation für Gesamt_Objekt in [0] und denm Ergebnis der Aggregation für Gesamt_Spalte in [1]. Einträge können null sein, falls keine Aggregationsdaten vorliegen.
      • isListAggregation

        public boolean isListAggregation()
        Werden auch nicht aggregierte Daten versendet?
        Returns:
        true falls liste eine der ausgewählten die Aggregationsanwendungen ist.
      • getLinkedAttributes

        public int[] getLinkedAttributes()
        Zeigt an welche Attribute durch die Aggregation spalte zusammengefasst werden. Zusammengehörige Spalten werden duch die gleichen Nummern gekennzeichnet.
        Returns:
        Zusammen gehörende Spalten. null falls die spalten Aggregation nicht verwendet wird.