public class AggregationsFsOderVmq extends AbstraktAggregationsObjekt implements de.bsvrz.dav.daf.main.ClientReceiverInterface
Modifier and Type | Field and Description |
---|---|
private de.bsvrz.dua.dalve.analyse.lib.CommonFunctions |
_commonFunctions
DaLve-Funktionen zur Berechnung der abgeleiteten Werte (Verkehrsdichten usw.)
|
private static de.bsvrz.sys.funclib.debug.Debug |
_debug |
private de.bsvrz.dav.daf.main.config.SystemObject |
_systemObject
der hier betrachtete Fahrstreifen.
|
protected AggregationsPufferMenge |
datenPuffer
speichert alle historischen Daten dieses Aggregationsobjektes aller
Aggregationsintervalle.
|
private long |
intervallEndeNormiertAlt
Zuletzt berechnetes Intervallende, entspricht in der Regel dem Zeitstempel des zuletzt empfangenen Datensatzes + T
|
private Collection<BiConsumer<Long,AggregationsIntervall>> |
listeners
Angemeldete Listener (MQ), die diesen FS benutzen (falls es ein FS ist).
|
static long |
MILLIS_PER_HOUR
Anzahl Millisekunden in einer Stunde
|
dav, letzteDaten, objekt, sender
Constructor and Description |
---|
AggregationsFsOderVmq(de.bsvrz.dav.daf.main.ClientDavInterface dav,
de.bsvrz.dav.daf.main.config.SystemObject systemObject)
Standardkonstruktor.
|
Modifier and Type | Method and Description |
---|---|
void |
addListener(BiConsumer<Long,AggregationsIntervall> consumer)
Fügt einen Listener hinzu, der Informiert wird wenn ein neuer Aggregationsdatensatz gebildet wurde.
|
void |
aggregiere(long zeitStempelVon,
long zeitStempelBis,
AggregationsIntervall intervall)
Aggregiert die Daten eines Fahrstreifens oder VMQ von einem bestimmten Zeitbereich und veröffentlicht das Aggregierte Ergebnis.
|
long |
getDatum(AggregationsDatum last,
de.bsvrz.dua.dalve.analyse.lib.AnalyseAttribut analyseAttribut) |
AggregationsPufferMenge |
getPuffer()
Erfragt den Datenpuffer dieses Objektes.
|
protected boolean |
isFahrstreifen()
Erfragt, ob es sich bei dem hier verwalteten Objekt um eine Objekt vom
Typ
typ.fahrStreifen handelt. |
protected void |
receivedData(de.bsvrz.dav.daf.main.ResultData resultat)
Methode wird für jeden empfangenen Analyse-Eingangsdatensatz aufgerufen und triggert die Aggregation
|
void |
removeListener(BiConsumer<Long,AggregationsIntervall> consumer)
Entfernt einen Listener.
|
protected void |
send(de.bsvrz.dav.daf.main.ResultData resultat)
Sendet einen Ergebnisdatensatz.
|
String |
toString() |
void |
update(de.bsvrz.dav.daf.main.ResultData... resultate) |
aggregiereGeschwindigkeit, aggregiereMittel, aggregiereSumme, fuelleRest, getObjekt, sende
private static final de.bsvrz.sys.funclib.debug.Debug _debug
public static final long MILLIS_PER_HOUR
private final de.bsvrz.dav.daf.main.config.SystemObject _systemObject
private final de.bsvrz.dua.dalve.analyse.lib.CommonFunctions _commonFunctions
protected AggregationsPufferMenge datenPuffer
private final Collection<BiConsumer<Long,AggregationsIntervall>> listeners
private long intervallEndeNormiertAlt
public AggregationsFsOderVmq(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject systemObject) throws de.bsvrz.sys.funclib.bitctrl.dua.DUAInitialisierungsException
dav
- Verbindung zum DatenverteilersystemObject
- Systemobjekt des Fahrstreifens oder virtuellen Messquerschnittsde.bsvrz.sys.funclib.bitctrl.dua.DUAInitialisierungsException
- wenn dieses Objekt nicht vollstaendig (mit allen
Unterobjekten) initialisiert werden konntepublic void addListener(BiConsumer<Long,AggregationsIntervall> consumer)
consumer
- Listenerpublic void removeListener(BiConsumer<Long,AggregationsIntervall> consumer)
consumer
- Listenerpublic void aggregiere(long zeitStempelVon, long zeitStempelBis, AggregationsIntervall intervall)
zeitStempelVon
- Startzeitstempel (inklusiv) in Millisekunden seit 1970zeitStempelBis
- Endzeitstempel (exkusiv) in Millisekunden seit 1970intervall
- Verwendetes Aggregationsintervall. Z.B. 5 Minuten. zeitStempelBis - zeitStempelVon sollte dem Intervall entsprechen.
Da Jahre und Monate nicht alle gleich lang sind (Schaltjahre usw.) sind auf jeden Fall die ersten beiden Parameter zu beachten,
die die exakten Zeitstempel enthalten.public long getDatum(AggregationsDatum last, de.bsvrz.dua.dalve.analyse.lib.AnalyseAttribut analyseAttribut)
protected void send(de.bsvrz.dav.daf.main.ResultData resultat)
resultat
- Ergebnispublic void update(de.bsvrz.dav.daf.main.ResultData... resultate)
update
in interface de.bsvrz.dav.daf.main.ClientReceiverInterface
protected void receivedData(de.bsvrz.dav.daf.main.ResultData resultat)
resultat
- Datensatzprotected boolean isFahrstreifen()
AbstraktAggregationsObjekt
typ.fahrStreifen
handelt.isFahrstreifen
in class AbstraktAggregationsObjekt
typ.fahrStreifen
handeltpublic final AggregationsPufferMenge getPuffer()
Copyright © 2016 BitCtrl Systems GmbH. All rights reserved.