public class FSDatenPuffer extends Object
ErsetzungsTabelle
aus der Feinspezifikation. Eine
Instanz dieser Klasse ist jeweils mit einem Fahrstreifen assoziiert. Für
diesen werden jeweils drei historische Werte in einem Ringpuffer
bereitgehalten. Außerdem wird für jedes in der MWE betrachtete Attribut die
Historie seiner Fortschreibung gespeichertModifier and Type | Field and Description |
---|---|
private static de.bsvrz.sys.funclib.debug.Debug |
_debug |
private de.bsvrz.sys.funclib.bitctrl.dua.lve.FahrStreifen |
fs
der Fahrstreifen, dessen Daten hier gepuffert werden.
|
private static int |
PUFFER_KAPAZITAET
die Groesse des Ringpuffers.
|
private KZDatum[] |
ringPuffer
die letzten drei emfangenen Datensätze im Ringpuffer.
|
private int |
ringPufferIndex
aktueller Index auf den Ringpuffer.
|
Modifier | Constructor and Description |
---|---|
protected |
FSDatenPuffer(de.bsvrz.sys.funclib.bitctrl.dua.lve.FahrStreifen fs)
Standardkonstruktor.
|
Modifier and Type | Method and Description |
---|---|
void |
aktualisiereDaten(KZDatum kzDatum)
Aktualisiert dieses Objekt mit einem aktuellen (Roh-)Datensatz für den
assoziierten Fahrstreifen
. |
KZDatum |
befreieAeltestesAbgelaufenesDatum()
Befreit das in diesem Puffer stehende Datum, das zu einem bereits
abgelaufenen Intervall gehören muss.
|
void |
ersetzeDatum(KZDatum mweDatum)
Ersetzt ein in diesem Puffer gespeichertes Datum durch ein
messwertersetztes Datum.
|
KZDatum |
getDatumAktuell()
Erfragt das letzte in diesen Puffer eingespeiste Datum.
|
KZDatum |
getDatumMitZeitStempel(long zeitStempel1)
Erfragt das Datum innerhalb dieses Puffers, das den übergebenen
Zeitstempel besitzt.
|
de.bsvrz.sys.funclib.bitctrl.dua.lve.FahrStreifen |
getFahrStreifen()
Erfragt den Fahrstreifen, dessen Daten hier gepuffert werden.
|
KZDatum |
getVorgaengerVon(KZDatum kzDatum)
Erfragt den unmittelbar vor dem übergebenen Datum in diesen Puffer
eingespeisten Datensatz.
|
boolean |
habeNochNichtFreigegebenesDatum()
Erfragt, ob in diesem Puffer wenigstens ein Datum gespeichert ist, das
noch nicht wieder an ein anderes Modul weitergegeben wurde.
|
boolean |
isAktuellDefekt()
Erfragt, ob dieser Fahrstreifen aktuell als
defekt
eingeschätzt wird. |
boolean |
isIntervallAbgelaufen()
Erfragt, ob in diesem Puffer Daten für mehr als ein Intervall gespeichert
sind, die noch nicht wieder freigegeben wurden.
|
void |
schreibeDatenFortWennNotwendig(KZDatum kzDatum)
Dieser Methode sollte alle Datensätze übergeben werden, die so
veröffentlicht werden sollen.
|
String |
toString() |
private static final int PUFFER_KAPAZITAET
private de.bsvrz.sys.funclib.bitctrl.dua.lve.FahrStreifen fs
private KZDatum[] ringPuffer
private int ringPufferIndex
private static final de.bsvrz.sys.funclib.debug.Debug _debug
protected FSDatenPuffer(de.bsvrz.sys.funclib.bitctrl.dua.lve.FahrStreifen fs)
fs
- der Fahrstreifen, dessen Daten hier gepuffert werden sollenpublic final void schreibeDatenFortWennNotwendig(KZDatum kzDatum)
kzDatum
- das zur Veröffentlichung stehende KZ-Datumpublic final KZDatum getVorgaengerVon(KZDatum kzDatum)
kzDatum
- ein Datensatznull
, wenn dieses nicht
existiertpublic final de.bsvrz.sys.funclib.bitctrl.dua.lve.FahrStreifen getFahrStreifen()
public final boolean isIntervallAbgelaufen()
public final boolean habeNochNichtFreigegebenesDatum()
public final KZDatum befreieAeltestesAbgelaufenesDatum()
public final boolean isAktuellDefekt()
defekt
eingeschätzt wird. Er ist defekt
, wenn das letzte Datum
keine Nutzdaten enthielt, oder noch nie ein Datum angekommen ist.defekt
eingeschätzt wirdpublic final void aktualisiereDaten(KZDatum kzDatum)
kzDatum
- ein KZD des assoziierten Fahrstreifens (muss
!= null
sein)public final KZDatum getDatumAktuell()
null
, wenn noch nie ein Datum eingespeist wurdepublic final KZDatum getDatumMitZeitStempel(long zeitStempel1)
zeitStempel1
- der Zeitstempel des Datumsnull
, wenn kein Datum
diesen Zeitstempel besitztpublic final void ersetzeDatum(KZDatum mweDatum)
mweDatum
- das neue DatumCopyright © 2016 BitCtrl Systems GmbH. All rights reserved.