Class Network


  • public class Network
    extends java.lang.Object
    Network - eine Klasse die ein Liniennetz von Bushaltestellen modelliert. Als Attribute hat sie eine Liste von Haltestellen und eine Liste von Direktverbindungen.
    • Constructor Summary

      Constructors 
      Constructor Description
      Network()
      Constructor Network - hier wird die Klasse "Network" mit leeren Attributen konstruiert
      Network​(java.util.ArrayList<Haltestelle> haltestellen)
      Constructor Network - hier wird die Klasse "Network" mit dem Attribut "haltestellen" und leerem Attribut für "direktverbindungen" konstruiert
    • Field Detail

      • haltestellen

        private java.util.ArrayList<Haltestelle> haltestellen
        ➔ Liste von Haltestellen
      • direktverbindungen

        private java.util.ArrayList<Direktverbindung> direktverbindungen
        ➔ Liste von Direktverbindungen
    • Constructor Detail

      • Network

        public Network()
        Constructor Network - hier wird die Klasse "Network" mit leeren Attributen konstruiert
      • Network

        public Network​(java.util.ArrayList<Haltestelle> haltestellen)
        Constructor Network - hier wird die Klasse "Network" mit dem Attribut "haltestellen" und leerem Attribut für "direktverbindungen" konstruiert
        Parameters:
        haltestellen - Die übergebene Haltestelle wird initialisiert
    • Method Detail

      • getHaltestellen

        public java.util.ArrayList<Haltestelle> getHaltestellen()
        ➔ diese Methode gibt als Rückgabewert das Attribut "haltestellen" zurück
        Returns:
        ArrayList "haltestellen"
      • getDirektverbindungen

        public java.util.ArrayList<Direktverbindung> getDirektverbindungen()
        ➔ diese Methode gibt als Rückgabewert das Attribut "direktverbindungen" zurück
        Returns:
        ArrayList "direktverbindungen"
      • setHaltestellen

        public void setHaltestellen​(java.util.ArrayList<Haltestelle> haltestellen)
        ➔ diese Methode initialisiert das Attribut "haltestellen" mit dem Argument der "haltestellen"
        Parameters:
        haltestellen - die Übergebenen Haltestellen werden initialisiert
      • setDirektverbindungen

        public void setDirektverbindungen​(java.util.ArrayList<Direktverbindung> direktverbindungen)
        ➔ diese Methode initialisiert das Attribut "direktverbindungen" mit dem Argument der "direktverbindungen"
        Parameters:
        direktverbindungen - die Übergebenen Direktverbindungen werden initialisiert
      • getAllStopsInNetwork

        public java.lang.String getAllStopsInNetwork()
        ➔ diese Methode gibt alle bekannten Haltestellen in diesem Liniennetz in alphabetischer Reihenfolge zurück
        Returns:
        gibt einen sortierten und formatierten "String" mit allen Halstellen zurück
      • getAllConnectionsInNetwork

        public java.lang.String getAllConnectionsInNetwork()
        ➔ diese Methode gibt alle Direktverbindungen in diesem Liniennetz in der Einlese-Reihenfolge als String zurück
        Returns:
        gibt den "String" mit den Direktverbindungen zurück
      • getAllConnectionsInNetworkPrettyPrint

        public java.lang.String getAllConnectionsInNetworkPrettyPrint()
        ➔ Gibt alle Direktverbindungen in Form einer großen Tabelle zurück.
        Returns:
        ein formatierter String mit allen Direktverbindungen
      • getAdjacentStops

        public java.util.ArrayList<Direktverbindung> getAdjacentStops​(Haltestelle start)
        ➔ diese Methode ermittelt alle Direktverbindungen, die von einer bestimmten Starthaltestelle aus bestehen
        Parameters:
        start - ist die Starthaltestelle
        Returns:
        gibt die ArrayListe zurück, in der die Direktverbindungen stehen wenn vorhanden.
      • getAdjacentStopsNumBus

        public java.util.ArrayList<Direktverbindung> getAdjacentStopsNumBus​(Haltestelle start,
                                                                            java.lang.String numBus)
        ➔ diese Methode ermittelt alle Direktverbindungen, die von einer bestimmten Haltestelle mit einer bestimmten Linie besteht
        Parameters:
        start - ist die Starthaltestelle
        numBus - ist die Buslinie
        Returns:
        gibt die ArrayListe zurück, in der die Direktverbindungen stehen wenn vorhanden
      • makeMissingCounterConnections

        public boolean makeMissingCounterConnections()
        ➔ "makeMissingCounterConnections" ermittelt für das gesamte Netz, ob zu jeder Direktverbindung auch ihre Gegenverbindung existiert und legt fehlende Gegenverbindungen an.
        Returns:
        "false" falls keine Gegenverbindungen hinzugefuegt werden mussten - sonst "true"
      • getNamesInRoute

        public java.util.ArrayList<java.lang.String> getNamesInRoute​(java.util.ArrayList<Haltestelle> route)
        ➔ diese Methode gibt alle Direktverbindungen in diesem Liniennetz in der Einlese-Reihenfolge als String zurück
        Parameters:
        route - die Route, die wir bisher gefunden haben
        Returns:
        gibt den "String" mit den Direktverbindungen zurück
      • hasConnection

        public boolean hasConnection​(Haltestelle start,
                                     Haltestelle ziel)
        ➔ diese Methode ermittelt, ob zwischen zwei Haltestellen eine Verbindung besteht
        Parameters:
        start - ist die Starthaltestelle
        ziel - ist die Zielhaltestelle
        Returns:
        "false" falls keine Verbindung ohne umsteigen besteht - sonst "true"
      • hasConnectionRecursive

        public boolean hasConnectionRecursive​(Haltestelle start,
                                              Haltestelle ziel,
                                              java.util.ArrayList<Haltestelle> visited,
                                              int depth,
                                              java.lang.String busNum)
        ➔ Hilfsmethode für die Methode "hasConnection"
        Parameters:
        start - ist die Starthaltestelle
        ziel - ist die Zielhaltestelle
        visited - ist die besuchte Haltestelle
        depth - die Anzahl aller Halstellen von Start bis Ziel
        busNum - ist die Buslinie
        Returns:
        false falls keine Verbindung ohne umsteigen besteht - sonst true
      • ohneUmstieg

        public boolean ohneUmstieg​(Haltestelle start,
                                   Haltestelle ziel)
        ➔ diese Methode ermittelt, ob mit einer bestimmten Linie eine Direktverbindung besteht
        Parameters:
        start - ist die Starthaltestelle
        ziel - ist die Zielhaltestelle
        Returns:
        false falls keine Direktverbindung mit einer Linie besteht - sonst true
      • getConnection

        public java.util.ArrayList<Haltestelle> getConnection​(Haltestelle start,
                                                              Haltestelle ziel)
        ➔ diese Methode berechnet eine Route von der Haltestelle start zur Haltestelle ziel und gibt sie in Form einer ArrayList von Haltestellen zurück.
        Parameters:
        start - die Haltestelle, von der aus wir eine Verbindung zum Ziel suchen
        ziel - die Haltestelle, zu der wir eine Route finden möchten
        Returns:
        eine Route von start nach ziel
      • getConnectionRecursive

        public java.util.ArrayList<Haltestelle> getConnectionRecursive​(Haltestelle viewedStop,
                                                                       Haltestelle ziel,
                                                                       java.util.ArrayList<Haltestelle> route,
                                                                       java.util.ArrayList<Haltestelle> visited)
        ➔ Hilfsmethode für die obige Methode.
        Parameters:
        viewedStop - die Haltestelle, von der aus wir eine Verbindung zum Ziel suchen
        ziel - die Haltestelle, zu der wir eine Route finden möchten
        route - die Route, die wir bisher gefunden haben
        visited - die Haltestellen, die wir bei der Suche bereits gesehen haben
        Returns:
        eine Route von start nach ziel
      • getStopByName

        public Haltestelle getStopByName​(java.lang.String hstName)
        ➔ diese Methode vergleicht alle Haltestellen mit einer übergebenen Halstestelle nach Duplikaten
        Parameters:
        hstName - ist der Name der aktuellen Haltestelle
        Returns:
        gibt das jeweilige Duplikat als "String" zurück - wenn nicht vorhanden dann gibt er "Null" zurück
      • mitUmstiege

        public void mitUmstiege​(java.util.ArrayList<Haltestelle> route)