de.bsvrz.vew.syskal.syskal.systemkalendereintrag
Class LogischeVerknuepfung

java.lang.Object
  extended by de.bsvrz.vew.syskal.syskal.systemkalendereintrag.Atomar
      extended by de.bsvrz.vew.syskal.syskal.systemkalendereintrag.DatumJahr
          extended by de.bsvrz.vew.syskal.syskal.systemkalendereintrag.LogischeVerknuepfung
All Implemented Interfaces:
SystemkalenderEintrag, java.lang.Cloneable
Direct Known Subclasses:
DefinierterEintrag

public class LogischeVerknuepfung
extends DatumJahr

Die Klasse erzeugt SystemKalenderEintraege vom Typ: "ODER{Samstag, Sonntag}*,*" oder "UND{MoBisSa, NICHT Feiertag}*,*". Die Berechnung der Zeitpunkte mit Wildcards bezieht sich noch auf das aktuelle Kalenderjahr. Die Vorgehensweise könnte dahingehend sein, dass beim Jahrewechsel die Zustandswechsel neu berechnet werden. Muss also noch geklärt werden *

Version:
$Revision: 1.7 $ / $Date: 2015/06/08 15:13:12 $ / ($Author: Pittner $)
Author:
Dambach-Werke GmbH, Timo Pittner

Field Summary
private  java.util.List<java.lang.String> ergebnisse
          Liste der einzelnen Teile der Verknuepfung
protected  ListeZustandsWechsel listeZustandsWechselTmp2
          Teporaere Zustandsliste
private  java.util.Map<java.lang.String,SystemkalenderEintrag> skeList
          Eigene Liste mit Systemkalenderientraegen
private  java.lang.String verknuepfung
          Die extrahierten Verknuepfungen
 
Fields inherited from class de.bsvrz.vew.syskal.syskal.systemkalendereintrag.DatumJahr
definition, jahrVonBis
 
Fields inherited from class de.bsvrz.vew.syskal.syskal.systemkalendereintrag.Atomar
_debug, listeZustandsWechsel, pid
 
Constructor Summary
LogischeVerknuepfung(java.util.Map<java.lang.String,SystemkalenderEintrag> skeList, java.lang.String pid, java.lang.String value)
           
 
Method Summary
 java.util.SortedMap<java.lang.Long,java.lang.Long> berechneIntervall(java.lang.Long von, java.lang.Long bis, int jahr)
          Berechnet die Zeitstempel der Zustandswechsel
static java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneNegativZustandsWechsel(java.lang.String von, java.lang.String bis)
          Berechen einer Dummyliste zum Bilden des Komplements
 java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneZustandsWechsel(int jahr)
          Berechnet die Zeitstempel der Zustandswechsel
 java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneZustandsWechsel(java.lang.Long von, java.lang.Long bis, int jahr)
          Berechnet die Zeitstempel der Zustandswechsel
 java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneZustandsWechselZustand(java.lang.Long von, java.lang.Long bis, int jahr)
          Berechnet die Zeitstempel der Zustandswechsel für das Versenden des Ereigniszustands
protected  LogischeVerknuepfung clone()
           
 java.util.Map<java.lang.String,SystemkalenderEintrag> getSkeList()
           
 boolean pruefeEintrag()
          Prueft den Eintrag auf Gueltikeit
 void setSkeList(java.util.Map<java.lang.String,SystemkalenderEintrag> skeList)
           
 
Methods inherited from class de.bsvrz.vew.syskal.syskal.systemkalendereintrag.DatumJahr
getDefinition
 
Methods inherited from class de.bsvrz.vew.syskal.syskal.systemkalendereintrag.Atomar
berecheneIntervallVonBis, berecheneZustandsWechselVonBis, getErinnerungsFunktion, getListeZustandsWechsel, getName, getObjektListeZustandsWechsel, getPid, gueltigVonBis, isGueltig, isGueltigVonBis, setDefinition, setErinnerungsFunktion, setListeZustandsWechsel, setName, setObjektListeZustandsWechsel, setPid
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ergebnisse

private java.util.List<java.lang.String> ergebnisse
Liste der einzelnen Teile der Verknuepfung


listeZustandsWechselTmp2

protected ListeZustandsWechsel listeZustandsWechselTmp2
Teporaere Zustandsliste


verknuepfung

private java.lang.String verknuepfung
Die extrahierten Verknuepfungen


skeList

private java.util.Map<java.lang.String,SystemkalenderEintrag> skeList
Eigene Liste mit Systemkalenderientraegen

Constructor Detail

LogischeVerknuepfung

public LogischeVerknuepfung(java.util.Map<java.lang.String,SystemkalenderEintrag> skeList,
                            java.lang.String pid,
                            java.lang.String value)
Parameters:
skeList -
pid -
value -
Method Detail

pruefeEintrag

public boolean pruefeEintrag()
Description copied from class: DatumJahr
Prueft den Eintrag auf Gueltikeit

Specified by:
pruefeEintrag in interface SystemkalenderEintrag
Overrides:
pruefeEintrag in class DatumJahr
Returns:
true, wenn die Pruefung erfolgreich war

berechneNegativZustandsWechsel

public static java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneNegativZustandsWechsel(java.lang.String von,
                                                                                                   java.lang.String bis)
Berechen einer Dummyliste zum Bilden des Komplements

Parameters:
von - Startzeitpunkt der Berechnung
bis - Endezeitpunkt der Berechnung
Returns:
SortedMap zeitlich sortierte Liste mit dem Zeitpunkten der Zustandswechsel und dem Zustand

getSkeList

public java.util.Map<java.lang.String,SystemkalenderEintrag> getSkeList()
Returns:
Map

setSkeList

public void setSkeList(java.util.Map<java.lang.String,SystemkalenderEintrag> skeList)
Parameters:
skeList -

berechneZustandsWechsel

public java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneZustandsWechsel(int jahr)
Description copied from interface: SystemkalenderEintrag
Berechnet die Zeitstempel der Zustandswechsel

Specified by:
berechneZustandsWechsel in interface SystemkalenderEintrag
Overrides:
berechneZustandsWechsel in class DatumJahr
Parameters:
jahr - das Jahr für welches die Wechsel berechnet werden
Returns:
SortedMap zeitl. sortierte Liste der Zustandswechsel

berechneZustandsWechsel

public java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneZustandsWechsel(java.lang.Long von,
                                                                                     java.lang.Long bis,
                                                                                     int jahr)
Description copied from interface: SystemkalenderEintrag
Berechnet die Zeitstempel der Zustandswechsel

Specified by:
berechneZustandsWechsel in interface SystemkalenderEintrag
Overrides:
berechneZustandsWechsel in class DatumJahr
Parameters:
von - Anfangszeitpunkt
bis - Endezeitpunkt
jahr - das Jahr für welches die Wechsel berechnet werden
Returns:
SortedMap zeitl. sortierte Liste der Zustandswechsel

berechneIntervall

public java.util.SortedMap<java.lang.Long,java.lang.Long> berechneIntervall(java.lang.Long von,
                                                                            java.lang.Long bis,
                                                                            int jahr)
Description copied from interface: SystemkalenderEintrag
Berechnet die Zeitstempel der Zustandswechsel

Specified by:
berechneIntervall in interface SystemkalenderEintrag
Overrides:
berechneIntervall in class DatumJahr
Parameters:
von - Anfangszeitpunkt
bis - Endezeitpunkt
jahr - das Jahr für welches die Wechsel berechnet werden
Returns:
SortedMap zeitl. sortierte Liste der Gültigkeiten

berechneZustandsWechselZustand

public java.util.SortedMap<java.lang.Long,java.lang.Boolean> berechneZustandsWechselZustand(java.lang.Long von,
                                                                                            java.lang.Long bis,
                                                                                            int jahr)
Description copied from interface: SystemkalenderEintrag
Berechnet die Zeitstempel der Zustandswechsel für das Versenden des Ereigniszustands

Specified by:
berechneZustandsWechselZustand in interface SystemkalenderEintrag
Overrides:
berechneZustandsWechselZustand in class DatumJahr
Parameters:
von - Anfangszeitpunkt
bis - Endezeitpunkt
jahr - das Jahr für welches die Wechsel berechnet werden
Returns:
SortedMap zeitl. sortierte Liste der Zustandswechsel

clone

protected LogischeVerknuepfung clone()
Overrides:
clone in class DatumJahr