Class Aggregator
- java.lang.Object
-
- de.bsvrz.pua.prot.processing.archivebuffer.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.
-
-
Constructor Summary
Constructors Constructor Description Aggregator(ProcessingInformation pi)
-
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 Aggregationspalte
zusammengefasst werden.boolean
isListAggregation()
Werden auch nicht aggregierte Daten versendet?
-
-
-
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 in1
. Die Einträge könnennull
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önnennull
sein, falls keine Aggregationsdaten vorliegen.
-
isListAggregation
public boolean isListAggregation()
Werden auch nicht aggregierte Daten versendet?- Returns:
true
fallsliste
eine der ausgewählten die Aggregationsanwendungen ist.
-
getLinkedAttributes
public int[] getLinkedAttributes()
Zeigt an welche Attribute durch die Aggregationspalte
zusammengefasst werden. Zusammengehörige Spalten werden duch die gleichen Nummern gekennzeichnet.- Returns:
- Zusammen gehörende Spalten.
null
falls diespalten
Aggregation nicht verwendet wird.
-
-