public abstract class LogischerVerkuepfungsEintrag extends KalenderEintrag
KalenderEintrag
, der durch die
logische Verknüpfung mehrerer anderer Einträge definiert wird.ZEITBEREICH_PATTERN
Modifier and Type | Method and Description |
---|---|
boolean |
benutzt(KalenderEintrag referenz)
die Funktion ermittelt, ob der Kalendereintrag den übergebenen Eintrag
benutzt, womit sich die Gültigkeit des Eintrags ändern könnte, wenn sich
der geprüfte EIntrag geändert hat.
|
protected ZustandsWechsel |
berechneNaechstenWechselAuf(boolean zielZustand,
java.util.Map<KalenderEintragMitOffset,ZustandsWechsel> potentielleEndWechsel)
berechnet, dem nächsten Gültigkeitswechsel des Eintrags auf den
angegebenen Zielzustand ausgehend von der Liste der übergebenen
Wechselkandidaten.
|
protected ZustandsWechsel |
berechneVorigenWechselAuf(boolean zielZustand,
java.time.LocalDateTime zeitPunkt,
java.util.Map<KalenderEintragMitOffset,ZustandsWechsel> potentielleStartWechsel)
berechnet, dem vorigen Gültigkeitswechsel des Eintrags der auf den
angegebenen Zielzustand ausgehend von der Liste der übergebenen
Wechselkandidaten.
|
SystemkalenderGueltigkeit |
berechneZeitlicheGueltigkeit(java.time.LocalDateTime zeitPunkt)
berechnet die zeitliche Gültigkeit des Eintrags zum übergebenen
Zeitpunkt.
|
SystemkalenderGueltigkeit |
berechneZeitlicheGueltigkeitVor(java.time.LocalDateTime zeitPunkt)
berechnet die zeitliche Gültigkeit des Eintrags vor dem übergebenen
Zeitpunkt.
|
boolean |
bestimmeGueltigkeit(java.time.LocalDateTime zeitPunkt)
die Funktion bestimmt, ob der Eintrag zum aktuellen Zeitpunkt gültig ist.
|
java.util.Set<KalenderEintragMitOffset> |
getAufgeloesteVerweise()
ermittelt die Kalendereinträge, die für die Berechnung eines komplexen
Eintrags verwendet werden inklusive der Offsets für die entsprechenden
Verweise.
|
EintragsArt |
getEintragsArt()
liefert die Art des Dateneintrags.
|
int |
getEndJahr()
liefert das optional beschränkende Endjahr. 0 steht für ein
unbeschränktes Ende.
|
protected abstract boolean |
getInitialenBerechnungsZustand()
ermittelt den initialen Berechnungszustand für die jeweilige logische
Verknüpfungsart, von dem bei der Bestimmung der Gültigkeit des Eintrags
ausgegangen wird.
|
int |
getStartJahr()
liefert das optional beschränkende Anfangsjahr. 0 steht für einen
unbeschränkten Anfang.
|
abstract java.lang.String |
getVerknuepfungsArt()
liefert die Art der logischen Verknüpfung als Textstring.
|
java.util.List<VerweisEintrag> |
getVerweise()
liefert die Liste der Verweise, die den Eintrag definieren.
|
protected boolean |
pruefeGueltigKeit(java.time.LocalDateTime wechselZeit,
boolean zielZustand)
prüft ob der Eintrag zum übergebenen Zeitpunkt die gewüschte Gültogkeit
hat.
|
boolean |
recalculateVerweise(KalenderEintragProvider provider)
Berechnet die Gültigkeit eines Kalendereintrags neu, wenn potentiell neue
oder andere Referenzeinträge zur Verfügung stehen.
|
void |
setEndJahr(int endJahr)
setzt das optionale Endjahr des Eintrags.
|
void |
setStartJahr(int startJahr)
setzt das optionale Anfangsjahr des Eintrags.
|
protected void |
setVerweise(java.util.List<Verweis> verweisListe)
definiert die Liste der Verweise, die der Eintrag verknüpft.
|
java.lang.String |
toString() |
addFehler, addZeitGrenze, clearFehler, getDefinition, getFehler, getIntervalle, getName, getZeitGrenzen, getZeitlicheGueltigkeit, getZeitlicheGueltigkeitVor, getZustandsWechsel, hasFehler, isGueltig, leereCache, parse, setDefinition
public EintragsArt getEintragsArt()
KalenderEintrag
getEintragsArt
in class KalenderEintrag
public int getEndJahr()
public int getStartJahr()
public abstract java.lang.String getVerknuepfungsArt()
public java.util.List<VerweisEintrag> getVerweise()
protected void setVerweise(java.util.List<Verweis> verweisListe)
verweisListe
- die Liste der Verweisepublic void setEndJahr(int endJahr)
endJahr
- das Jahrpublic void setStartJahr(int startJahr)
startJahr
- das Jahrpublic java.lang.String toString()
toString
in class java.lang.Object
public boolean benutzt(KalenderEintrag referenz)
KalenderEintrag
benutzt
in class KalenderEintrag
referenz
- der potentiell verwendete Eintragpublic java.util.Set<KalenderEintragMitOffset> getAufgeloesteVerweise()
KalenderEintrag
getAufgeloesteVerweise
in class KalenderEintrag
protected final boolean pruefeGueltigKeit(java.time.LocalDateTime wechselZeit, boolean zielZustand)
wechselZeit
- der Zeitpunkt für den die Prüfung erfolgen sollzielZustand
- der gewünschte Gültigkeitszustandprotected final ZustandsWechsel berechneNaechstenWechselAuf(boolean zielZustand, java.util.Map<KalenderEintragMitOffset,ZustandsWechsel> potentielleEndWechsel)
zielZustand
- der gewünschte ZustandpotentielleEndWechsel
- die Liste der Zustandswechselkandidatenprotected final ZustandsWechsel berechneVorigenWechselAuf(boolean zielZustand, java.time.LocalDateTime zeitPunkt, java.util.Map<KalenderEintragMitOffset,ZustandsWechsel> potentielleStartWechsel)
zielZustand
- der gewünschte ZustandpotentielleStartWechsel
- die Liste der Zustandswechselkandidatenpublic SystemkalenderGueltigkeit berechneZeitlicheGueltigkeit(java.time.LocalDateTime zeitPunkt)
KalenderEintrag
KalenderEintrag.getZeitlicheGueltigkeit(LocalDateTime)
aufrufen!berechneZeitlicheGueltigkeit
in class KalenderEintrag
zeitPunkt
- der Zeitpunkt für den für Gültigkeit berechnet werden sollprotected abstract boolean getInitialenBerechnungsZustand()
public final SystemkalenderGueltigkeit berechneZeitlicheGueltigkeitVor(java.time.LocalDateTime zeitPunkt)
KalenderEintrag
KalenderEintrag.getZeitlicheGueltigkeitVor(LocalDateTime)
aufrufen!berechneZeitlicheGueltigkeitVor
in class KalenderEintrag
zeitPunkt
- der Zeitpunkt für den für Gültigkeit berechnet werden sollpublic boolean bestimmeGueltigkeit(java.time.LocalDateTime zeitPunkt)
KalenderEintrag
KalenderEintrag.isGueltig(LocalDateTime)
aufrufen!bestimmeGueltigkeit
in class KalenderEintrag
zeitPunkt
- der Zeitpunkt für den die Gültigkeit geprüft werden sollpublic boolean recalculateVerweise(KalenderEintragProvider provider)
KalenderEintrag
recalculateVerweise
in class KalenderEintrag
provider
- der Provider mit den zur Verfügung stehenden Einträgen