Class StreckenAbschnitt

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class StreckenAbschnitt
    extends java.lang.Object
    implements java.lang.Cloneable
    Ein Streckenabschnitt entspricht einem Weg zwischen zwei (nicht identischen) Straßenknoten auf einer Straße in gegebener Fahrtrichtung. Somit definiert ein Streckenabschnitt eine Sequenz von äußeren und inneren Straßensegmenten, welche nötig ist, um die Straßenknoten zu verbinden. Beachte: Während die sortierte Liste der den Streckenabschnitt definierenden äußeren Straßensegmente eindeutig ist, sind alle zu einem Straßenknoten gehörenden (möglichenweise auch parallelen) inneren Straßensegmente im Streckenabschnitt abgelegt. Hier wird standardmäßig das innere Straßensegment ausgewählt, welches die niedrigste PID besitzt. Es kann aber auch nachträglich ein alternatives inneres Straßensegment gesetzt werden.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  StreckenAbschnitt.Intervall
      Intervall-Hilfsklasse.
    • Method Summary

      Modifier and Type Method Description
      void addPropertyChangeListener​(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
      Fügt diesem Streckenabschnitt einen neuen PropertyChangeListener hinzu.
      void addSegment​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment segment)
      Fügt dem Streckenabschnitt ein weiteres äußeres Straßensegment hinzu.
      StreckenAbschnitt clone()  
      boolean equals​(java.lang.Object obj)  
      boolean existierenAlternativeInnereStrassenSegmente()
      Liefert true zurück, wenn für mindestens einen Straßenknoten mehrere innere Straßensegmente existieren.
      protected void firePropertyChange​(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
      Informiert alle registrierten PropertyChangeListener über eine Änderung.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment> getAeussereStrassenSegmente()
      Liefert die sortierte Liste der äußeren Straßensegmente zurück.
      byte getAnzahlFahrstreifen()
      Liefert die Anzahl der Fahrstreifen am Beginn dieses Streckenabschnitts zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment getEndASS()
      Liefert das letzte äußere Straßensegment zurück.
      double getEndBetriebsKilometer()
      Liefert den Betriebskilometer am Ende dieses Streckenabschnitts zurück (Einheit: Kilometer).
      StreckenAbschnitt.Intervall getEndBetriebsKilometerBereich()
      Liefert den möglichen Bereich für den Betriebskilometer am Ende dieses Streckenabschnitts zurück.
      java.lang.String getEndBetriebsKilometerBlockNummer()
      Liefert die Blocknummer des Bereichs für den Betriebskilometer am Ende des Streckenabschnitts zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment getEndISS()
      Liefert das letzte innere Straßensegment zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten getEndKnoten()
      Liefert den Straßenknoten zurück, mit welchem dieser Streckenabschnitt endet.
      double getEndOffset()
      Liefert die Position des Streckenabschnittendes im letzten Straßensegment zurück (Einheit: Kilometer).
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment getEndSegment()
      Liefert das letzte Straßensegment zurück.
      java.lang.String getInfo()
      Liefert einen Info-String zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment> getInnereStrassenSegmente​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten knoten)
      Liefert die inneren Straßensegmente für den gegebenen Straßenknoten zurück.
      double getLaenge​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment segment)
      Liefert die Länge des gegebenen Straßensegments zurück.
      double getMaxEndOffset()
      Liefert den maximalen Wert für den EndOffset zurück (Einheit: Kilometer).
      double getMaxStartOffset()
      Liefert den maximalen Wert für den StartOffset zurück (Einheit: Kilometer).
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getNachfolgerStrassenKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten knoten)
      Liefert die Strassenknoten zurück, welche auf dem Streckenabschnitt nach dem gegebenen Straßenknoten liegen.
      de.bsvrz.sys.funclib.bitctrl.modell.tmtmcglobal.attribute.AttTmcRichtung getRichtung()
      Liefert die Straßenrichtung dieses Streckenabschnitts zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment getStartASS()
      Liefert das erste äußere Straßensegment zurück.
      double getStartBetriebsKilometer()
      Liefert den Betriebskilometer am Beginn dieses Streckenabschnitts zurück (Einheit: Kilometer).
      StreckenAbschnitt.Intervall getStartBetriebsKilometerBereich()
      Liefert den möglichen Bereich für den Betriebskilometer am Beginn dieses Streckenabschnitts zurück.
      java.lang.String getStartBetriebsKilometerBlockNummer()
      Liefert die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment getStartISS()
      Liefert das erste innere Straßensegment zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten getStartKnoten()
      Liefert den Straßenknoten zurück, mit welchem dieser Streckenabschnitt beginnt.
      double getStartOffset()
      Liefert die Position des Streckenabschnittanfang im ersten Straßensegment zurück (Einheit: Kilometer).
      de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment getStartSegment()
      Liefert das erste Straßensegment zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getStrassenKnoten()
      Liefert die sortierte Liste der auf dem Streckenabschnitt liegenden Straßenknoten zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getStrassenKnotenMitAlternativenInnerenStrassenSegmenten()
      Gibt die Straßenknoten zurück, welche alternative innere Straßensegmente besitzen.
      java.lang.String getStrassenNummer()
      Liefert die Straßennummer der logischen Straße zurück, auf welcher sich dieser Streckenabschnitt befindet.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment> getStrassenSegmente()
      Liefert die sortierte Liste der Straßensegmente zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getVorgaengerStrassenKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten knoten)
      Liefert die Strassenknoten zurück, welche auf dem Streckenabschnitt vor dem gegebenen Straßenknoten liegen.
      int hashCode()  
      boolean hatFehlendeInnereSegmente()
      Liefert wahr zurück, wenn in der Folge der Straßensegmente in diesem Streckenabschnitt innere Straßensegmente fehlen.
      boolean isStartGleichEndKnoten()
      Liefert true zurück, wenn dieser Streckenabschnitt lediglich auf einem Straßenknoten definiert ist.
      boolean istStandardStreckenAbschnitt()
      Liefert true zurück, wenn es sich bei allen äußeren Straßensegmenten, welche diesen Streckenabschnitt definieren, um äußere Straßensegmente handelt, dessen PID auf '0' endet.
      void removePropertyChangeListener​(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
      Entfernt den gegebenen PropertyChangeListener von diesem Streckenabschnit.
      void setAnzahlFahrstreifen()
      Bestimmt die Anzahl der Fahrstreifen.
      void setEndBetriebsKilometer​(double endBetriebsKilometer)
      Setzt den Betriebskilometer am Ende dieses Streckenabschnitts.
      void setEndBetriebsKilometerBereich()
      Setzt den möglichen Bereich für den Betriebskilometer am Ende dieses Streckenabschnitts.
      void setEndBetriebsKilometerBlockNummer​(java.lang.String neuerWert)
      Setzt die Blocknummer des Bereichs für den Betriebskilometer am Ende des Streckenabschnitts.
      void setEndKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten endKnoten)
      Setzt den Endstraßenknoten dieses Streckenabschnitts.
      void setEndOffset​(double endOffset)
      Setzt die Position des Streckenabschittendes im letzten Straßensegment.
      void setInneresStrassenSegment​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment segment)
      Setzt das gegebene innere Straßensegment.
      void setMaxEndOffset()
      Ermittelt den maximalen Wert für den EndOffset.
      void setMaxStartOffset()
      Ermittelt den maximalen Wert für den StartOffset.
      void setStandardEndBetriebsKilometerBlockNummer()
      Setzt den Standard-Wert für die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts.
      void setStandardStartBetriebsKilometerBlockNummer()
      Setzt den Standard-Wert für die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts.
      void setStartBetriebsKilometer​(double startBetriebsKilometer)
      Setzt den Betriebskilometer am Start dieses Streckenabschnitts.
      void setStartBetriebsKilometerBereich()
      Setzt den möglichen Bereich für den Betriebskilometer am Beginn dieses Streckenabschnitts.
      void setStartBetriebsKilometerBlockNummer​(java.lang.String neuerWert)
      Setzt die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts.
      void setStartKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten startKnoten)
      Setzt den Startstraßenknoten dieses Streckenabschnitts.
      void setStartOffset​(double startOffset)
      Setzt die Position des Streckenabschnittanfang im ersten Straßensegment.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • clone

        public StreckenAbschnitt clone()
        Overrides:
        clone in class java.lang.Object
      • addSegment

        public void addSegment​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment segment)
        Fügt dem Streckenabschnitt ein weiteres äußeres Straßensegment hinzu. Achtung: Das äußere Straßensegment muss auf derselben Straße sowie Richtung liegen, auf welchem dieser Streckenabschnitt definiert ist. Außerdem muss sich das gegebene äußere Straßensegment dem aktuell letzten äußeren Straßensegment direkt anschließen und es muss ein inneres Straßensegment existieren, welches das letzte äußere Straßensegment mit dem gegebenen äußeren Straßensegment verbindet.
        Parameters:
        segment - das äußere Straßensegment, nicht null
        See Also:
        getStrassenNummer(), getRichtung()
      • setInneresStrassenSegment

        public void setInneresStrassenSegment​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment segment)
        Setzt das gegebene innere Straßensegment. Achtung: Das gegebene innere Straßensegment muss zu einem auf diesem Streckenabschnitt liegenden Straßenknoten gehören.
        Parameters:
        segment - das innere Straßensegment, darf nicht null sein
      • getStartKnoten

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten getStartKnoten()
        Liefert den Straßenknoten zurück, mit welchem dieser Streckenabschnitt beginnt.
        Returns:
        Startstraßenknoten dieses Streckenabschnitts, kann null sein
      • getEndKnoten

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten getEndKnoten()
        Liefert den Straßenknoten zurück, mit welchem dieser Streckenabschnitt endet.
        Returns:
        Endstraßenknoten dieses Streckenabschnitts, kann null sein
      • setStartKnoten

        public void setStartKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten startKnoten)
        Setzt den Startstraßenknoten dieses Streckenabschnitts. Eine Änderung des Startstraßenknotens verändert die Liste der auf dem Streckenabschnitt passierten Straßenknoten und Straßensegmente.
        Parameters:
        startKnoten - der Startstraßenknoten, muss auf dem Streckenabschnitt liegen, darf nicht mit dem Endstraßenknoten identisch sein, nicht null
        See Also:
        setEndKnoten(StrassenKnoten)
      • setEndKnoten

        public void setEndKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten endKnoten)
        Setzt den Endstraßenknoten dieses Streckenabschnitts. Eine Änderung des Endstraßenknoten verändert die Liste der auf dem Streckenabschnitt passierten Straßenknoten und Straßensegmente.
        Parameters:
        endKnoten - der Endstraßenknoten, muss auf dem Streckenabschnitt liegen, darf nicht mit dem Startstraßenknoten identisch sein, nicht null
        See Also:
        setStartKnoten(StrassenKnoten)
      • getStartSegment

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment getStartSegment()
        Liefert das erste Straßensegment zurück.
        Returns:
        das erste Straßensegment zurück, kann null sein
        See Also:
        getStartASS(), getStartISS()
      • getStartASS

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment getStartASS()
        Liefert das erste äußere Straßensegment zurück. Das erste äußere Straßensegment ist das Straßensegment, welches sich in Fahrtrichtung an den Startstraßenknoten anschließt.
        Returns:
        das erste äußere Straßensegment zurück, kann null sein
      • getStartISS

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment getStartISS()
        Liefert das erste innere Straßensegment zurück.

        Das erste innere Straßensegment entspricht entweder dem ersten Straßensegment (wenn der Startstraßenknoten gleich dem Endstraßenknoten ist) oder dem inneren Straßensegment, welches dem ersten äußeren Straßensegment folgt (als auf dem 2. Straßenknoten gestetzt ist).

        Returns:
        das erste innere Straßensegment, kann null sein
        See Also:
        getStartASS(), getStartSegment(), getStartKnoten()
      • getEndSegment

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment getEndSegment()
        Liefert das letzte Straßensegment zurück.
        Returns:
        das letzte äußere Straßensegment zurück, kann null sein
        See Also:
        getEndASS(), getEndISS()
      • getEndASS

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment getEndASS()
        Liefert das letzte äußere Straßensegment zurück. Das letzte äußere Straßensegment ist das Straßensegment, welches sich auf dem Streckenabschnitt vor dem Endstraßenknoten befindet.
        Returns:
        das letzte äußere Straßensegment zurück, kann null sein
      • getEndISS

        public de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment getEndISS()
        Liefert das letzte innere Straßensegment zurück.

        Das letzte innere Straßensegment ist das innere Straßensegment, welches auf dem Endstraßenknoten gesetzt ist. Dieses innere Straßensegment entspricht somit dem letzten möglichen Straßensegment.

        Returns:
        das innere Straßensegment, welches dem Endstraßenknoten folgt, kann null sein
        See Also:
        getEndASS(), getEndSegment(), getEndKnoten()
      • getLaenge

        public double getLaenge​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment segment)
        Liefert die Länge des gegebenen Straßensegments zurück.
        Parameters:
        segment - das Straßensegment, von welchem die Länge bestimmt werden soll
        Returns:
        die Länge des gegebenen Straßensegments
      • getMaxStartOffset

        public double getMaxStartOffset()
        Liefert den maximalen Wert für den StartOffset zurück (Einheit: Kilometer). Dieses Wert entspricht der Länge des ersten äußeren Straßensegments.
        Returns:
        maximal möglicher Wert für den StartOffset
      • setMaxStartOffset

        public void setMaxStartOffset()
        Ermittelt den maximalen Wert für den StartOffset.
      • getMaxEndOffset

        public double getMaxEndOffset()
        Liefert den maximalen Wert für den EndOffset zurück (Einheit: Kilometer). Dieses Wert entspricht der Länge des letzten äußeren Straßensegments.
        Returns:
        maximal möglicher Wert für den EndOffset
      • setMaxEndOffset

        public void setMaxEndOffset()
        Ermittelt den maximalen Wert für den EndOffset.
      • getStartOffset

        public double getStartOffset()
        Liefert die Position des Streckenabschnittanfang im ersten Straßensegment zurück (Einheit: Kilometer).
        Returns:
        die Position des Streckenabschnittanfang im ersten Straßensegment (Einheit: Kilometer)
      • setStartOffset

        public void setStartOffset​(double startOffset)
        Setzt die Position des Streckenabschnittanfang im ersten Straßensegment. Ist der übergebene Wert größer als der maximale StartOffset, wird der Maximalwert angenommen.
        Parameters:
        startOffset - die Position des Streckenabschnittanfang im ersten Straßensegment (Einheit: Kilometer)
        See Also:
        getMaxStartOffset()
      • getEndOffset

        public double getEndOffset()
        Liefert die Position des Streckenabschnittendes im letzten Straßensegment zurück (Einheit: Kilometer).
        Returns:
        die Position des Streckenabschnittendes im letzten Straßensegment (Einheit: Kilometer)
      • setEndOffset

        public void setEndOffset​(double endOffset)
        Setzt die Position des Streckenabschittendes im letzten Straßensegment. Ist der übergebene Wert größer als der maximale EndOffset, wird der Maximalwert angenommen.
        Parameters:
        endOffset - die Position des Streckenabschnittendes im letzten Straßensegment (Einheit: Kilometer)
        See Also:
        getMaxEndOffset()
      • getAnzahlFahrstreifen

        public byte getAnzahlFahrstreifen()
        Liefert die Anzahl der Fahrstreifen am Beginn dieses Streckenabschnitts zurück. Hierbei wird der StartOffset mitberücksichtigt. Es wird also die Anzahl der Fahrstreifen des Straßenteilsegments an der entsprechenden Position des Offsets zurückgeliefert.
        Returns:
        die Anzahl der Fahrstreifen am Beginn dieses Streckenabschnitts zurück
      • setAnzahlFahrstreifen

        public void setAnzahlFahrstreifen()
        Bestimmt die Anzahl der Fahrstreifen. Dieses Wert ist abhängig vom Startstraßensegment sowie dem StartOffset.
      • getStartBetriebsKilometer

        public double getStartBetriebsKilometer()
        Liefert den Betriebskilometer am Beginn dieses Streckenabschnitts zurück (Einheit: Kilometer).
        Returns:
        den Betriebskilometer am Beginn dieses Streckenabschnitts (Einheit: Kilometer)
      • setStartBetriebsKilometer

        public void setStartBetriebsKilometer​(double startBetriebsKilometer)
        Setzt den Betriebskilometer am Start dieses Streckenabschnitts.
        Parameters:
        startBetriebsKilometer - die neue Startbetriebskilometerangabe.
      • getStartBetriebsKilometerBereich

        public StreckenAbschnitt.Intervall getStartBetriebsKilometerBereich()
        Liefert den möglichen Bereich für den Betriebskilometer am Beginn dieses Streckenabschnitts zurück.
        Returns:
        den den möglichen Bereich für den Betriebskilometer am Beginn dieses Streckenabschnitts
      • setStartBetriebsKilometerBereich

        public void setStartBetriebsKilometerBereich()
        Setzt den möglichen Bereich für den Betriebskilometer am Beginn dieses Streckenabschnitts.
      • getStartBetriebsKilometerBlockNummer

        public java.lang.String getStartBetriebsKilometerBlockNummer()
        Liefert die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts zurück.
        Returns:
        die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts
      • setStandardStartBetriebsKilometerBlockNummer

        public void setStandardStartBetriebsKilometerBlockNummer()
        Setzt den Standard-Wert für die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts.
      • setStartBetriebsKilometerBlockNummer

        public void setStartBetriebsKilometerBlockNummer​(java.lang.String neuerWert)
        Setzt die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts.
        Parameters:
        neuerWert - die neue Blocknummer
      • getEndBetriebsKilometer

        public double getEndBetriebsKilometer()
        Liefert den Betriebskilometer am Ende dieses Streckenabschnitts zurück (Einheit: Kilometer).
        Returns:
        den Betriebskilometer am Ende dieses Streckenabschnitts (Einheit: Kilometer)
      • setEndBetriebsKilometer

        public void setEndBetriebsKilometer​(double endBetriebsKilometer)
        Setzt den Betriebskilometer am Ende dieses Streckenabschnitts.
        Parameters:
        endBetriebsKilometer - die neue Endbetriebskilometerangabe
      • getEndBetriebsKilometerBereich

        public StreckenAbschnitt.Intervall getEndBetriebsKilometerBereich()
        Liefert den möglichen Bereich für den Betriebskilometer am Ende dieses Streckenabschnitts zurück.
        Returns:
        den den möglichen Bereich für den Betriebskilometer am Ende dieses Streckenabschnitts
      • setEndBetriebsKilometerBereich

        public void setEndBetriebsKilometerBereich()
        Setzt den möglichen Bereich für den Betriebskilometer am Ende dieses Streckenabschnitts.
      • getEndBetriebsKilometerBlockNummer

        public java.lang.String getEndBetriebsKilometerBlockNummer()
        Liefert die Blocknummer des Bereichs für den Betriebskilometer am Ende des Streckenabschnitts zurück.
        Returns:
        die Blocknummer des Bereichs für den Betriebskilometer am Ende des Streckenabschnitts
      • setStandardEndBetriebsKilometerBlockNummer

        public void setStandardEndBetriebsKilometerBlockNummer()
        Setzt den Standard-Wert für die Blocknummer des Bereichs für den Betriebskilometer am Beginn des Streckenabschnitts.
      • setEndBetriebsKilometerBlockNummer

        public void setEndBetriebsKilometerBlockNummer​(java.lang.String neuerWert)
        Setzt die Blocknummer des Bereichs für den Betriebskilometer am Ende des Streckenabschnitts.
        Parameters:
        neuerWert - die neue Blocknummer
      • getRichtung

        public de.bsvrz.sys.funclib.bitctrl.modell.tmtmcglobal.attribute.AttTmcRichtung getRichtung()
        Liefert die Straßenrichtung dieses Streckenabschnitts zurück.
        Returns:
        die Straßenrichtung dieses Streckenabschnitts, niemals null
      • getStrassenNummer

        public java.lang.String getStrassenNummer()
        Liefert die Straßennummer der logischen Straße zurück, auf welcher sich dieser Streckenabschnitt befindet.
        Returns:
        die Straße auf welcher sich dieser Streckenabschnitt befindet, niemals null
      • getStrassenKnoten

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getStrassenKnoten()
        Liefert die sortierte Liste der auf dem Streckenabschnitt liegenden Straßenknoten zurück.
        Returns:
        die sortierte Liste der auf dem Streckenabschnitt liegenden Straßenknoten, niemals null
      • getStrassenSegmente

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenSegment> getStrassenSegmente()
        Liefert die sortierte Liste der Straßensegmente zurück. Dabei wechseln sich äußere und innere Straßensegmente ab. Achtung: Es kann vorkommen, dass innere Straßensegmente fehlen.
        Returns:
        die sortierte Liste der Straßensegmente, niemals null
        See Also:
        hatFehlendeInnereSegmente()
      • getAeussereStrassenSegmente

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.AeusseresStrassenSegment> getAeussereStrassenSegmente()
        Liefert die sortierte Liste der äußeren Straßensegmente zurück. Dabei wechseln sich äußere und innere Straßensegmente ab.
        Returns:
        die sortierte Liste der äußeren Straßensegmente, niemals null
      • getNachfolgerStrassenKnoten

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getNachfolgerStrassenKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten knoten)
        Liefert die Strassenknoten zurück, welche auf dem Streckenabschnitt nach dem gegebenen Straßenknoten liegen.
        Parameters:
        knoten - der Straßenknoten, nicht null
        Returns:
        die Strassenknoten, welche auf dem Streckenabschnitt nach dem gegebenen Straßenknoten liegen, niemals null
      • getVorgaengerStrassenKnoten

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getVorgaengerStrassenKnoten​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten knoten)
        Liefert die Strassenknoten zurück, welche auf dem Streckenabschnitt vor dem gegebenen Straßenknoten liegen.
        Parameters:
        knoten - der Straßenknoten, nicht null
        Returns:
        die Strassenknoten, welche auf dem Streckenabschnitt vor dem gegebenen Straßenknoten liegen, niemals null
      • hatFehlendeInnereSegmente

        public boolean hatFehlendeInnereSegmente()
        Liefert wahr zurück, wenn in der Folge der Straßensegmente in diesem Streckenabschnitt innere Straßensegmente fehlen.
        Returns:
        wahr, wenn in der Folge der Straßensegmente in diesem Streckenabschnitt innere Straßensegmente fehlen
      • istStandardStreckenAbschnitt

        public boolean istStandardStreckenAbschnitt()
        Liefert true zurück, wenn es sich bei allen äußeren Straßensegmenten, welche diesen Streckenabschnitt definieren, um äußere Straßensegmente handelt, dessen PID auf '0' endet.
        Returns:
        true, wenn dieser Streckenabschnitt den bevorzugten Weg zwischen den definierten Start- und Endstraßenknoten definiert.
      • getInnereStrassenSegmente

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.InneresStrassenSegment> getInnereStrassenSegmente​(de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten knoten)
        Liefert die inneren Straßensegmente für den gegebenen Straßenknoten zurück.
        Parameters:
        knoten - der Straßenknoten, nicht null
        Returns:
        die inneren Straßensegmente für den gegebenen Straßenknoten, niemals null
      • existierenAlternativeInnereStrassenSegmente

        public boolean existierenAlternativeInnereStrassenSegmente()
        Liefert true zurück, wenn für mindestens einen Straßenknoten mehrere innere Straßensegmente existieren.
        Returns:
        true, wenn für mindestens einen Straßenknoten mehrere innere Straßensegmente existieren
      • getStrassenKnotenMitAlternativenInnerenStrassenSegmenten

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.tmverkehrglobal.objekte.StrassenKnoten> getStrassenKnotenMitAlternativenInnerenStrassenSegmenten()
        Gibt die Straßenknoten zurück, welche alternative innere Straßensegmente besitzen.
        Returns:
        die Straßenknoten, welche alternative innere Straßensegmente besitzen, niemals null
      • isStartGleichEndKnoten

        public boolean isStartGleichEndKnoten()
        Liefert true zurück, wenn dieser Streckenabschnitt lediglich auf einem Straßenknoten definiert ist.
        Returns:
        true zurück, wenn dieser Streckenabschnitt lediglich auf einem Straßenknoten definiert ist, ansonsten false
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getInfo

        public java.lang.String getInfo()
        Liefert einen Info-String zurück.
        Returns:
        einen Info-String
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • addPropertyChangeListener

        public void addPropertyChangeListener​(java.lang.String propertyName,
                                              java.beans.PropertyChangeListener listener)
        Fügt diesem Streckenabschnitt einen neuen PropertyChangeListener hinzu.
        Parameters:
        propertyName - der Name der Property
        listener - der Listener
        See Also:
        PropertyChangeSupport.addPropertyChangeListener(String, PropertyChangeListener)
      • removePropertyChangeListener

        public void removePropertyChangeListener​(java.lang.String propertyName,
                                                 java.beans.PropertyChangeListener listener)
        Entfernt den gegebenen PropertyChangeListener von diesem Streckenabschnit.
        Parameters:
        propertyName - der Name der Property
        listener - der Listener
        See Also:
        PropertyChangeSupport.removePropertyChangeListener(String, PropertyChangeListener)
      • firePropertyChange

        protected void firePropertyChange​(java.lang.String propertyName,
                                          java.lang.Object oldValue,
                                          java.lang.Object newValue)
        Informiert alle registrierten PropertyChangeListener über eine Änderung.
        Parameters:
        propertyName - der Name der Property
        oldValue - der alter Wert
        newValue - der neue Wert
        See Also:
        PropertyChangeSupport.firePropertyChange(String, Object, Object)