de.bsvrz.kex.bwsin.konfig
Class VerboteneFahrbeziehungen

java.lang.Object
  extended by de.bsvrz.kex.bwsin.konfig.VerboteneFahrbeziehungen

public class VerboteneFahrbeziehungen
extends Object

Repräsentiert die verbotenen Fahrbeziehungen.

Version:
$Id: VerboteneFahrbeziehungen.java 10402 2008-07-10 09:07:00Z gieseler $
Author:
BitCtrl Systems GmbH, Gieseler

Nested Class Summary
(package private)  class VerboteneFahrbeziehungen.Fahrbeziehung
          Eine Fahrbeziehung.
 
Field Summary
private static de.bsvrz.sys.funclib.debug.Debug DEBUG
          DebugLogger für Debug-Ausgaben.
private  Map<String,List<VerboteneFahrbeziehungen.Fahrbeziehung>> fbMap
          HashMap der verbotenen Fahrbeziehungen mit Schlüssel 'von-Strassenelement'.
private  HashSet<String> neueAnfaenge
          HashMap der aus den verbotenen Fahrbeziehungen resultierenden neuen Anfänge von Straßensegmenten.
 
Constructor Summary
VerboteneFahrbeziehungen()
           
 
Method Summary
private  void addFahrbeziehung(VerboteneFahrbeziehungen.Fahrbeziehung fb)
          Fügt eine neue Fahrbeziehung ein.
 LinkedList<StrassenAbschnitt> bildeErlaubtenAnfang(LinkedList<StrassenAbschnitt> route)
          Berechnet der erlaubten Anfang einer Route unter Berücksichtigung der verbotenen Fahrbeziehungen.
 Route bildeErlaubtenAnfang(Route route, ImportNetz importNetz)
          Berechnet der erlaubten Anfang einer Route unter Berücksichtigung der verbotenen Fahrbeziehungen.
 boolean enthaelt(LinkedList<StrassenAbschnitt> route)
          Test, ob eine Liste von Abschnitten eine verbotene Fahrbeziehung enthält.
 boolean enthaelt(StrassenAbschnitt abschnitt)
          Test, ob ein Abschnitt eine verbotene Fahrbeziehung enthält.
 StrassenElement getErlaubterTeil(StrassenAbschnitt abschnitt)
          Gibt das Straßenelement des Abschnittes zurück, bis zu dem die Fahrbeziehung erlaubt ist.
 int initialisiere(Okstra okstradb)
          Initialisierungsfunktion.
 boolean istNeuerAnfangAusVerbotenerFahrbeziehung(StrassenAbschnitt abschnitt)
          Test, ob ein Straßenabschnitt ein neuer Anfang aus einer verbotenen Fahrbeziehung ist.
 boolean istVerboten(Route froute, StrassenAbschnitt abschnitt)
          Test, ob durch das Anfügen eine Straßenabschnittes an eine Route eine verbotene Fahrbeziehungen entsteht.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

private static final de.bsvrz.sys.funclib.debug.Debug DEBUG
DebugLogger für Debug-Ausgaben.


fbMap

private final Map<String,List<VerboteneFahrbeziehungen.Fahrbeziehung>> fbMap
HashMap der verbotenen Fahrbeziehungen mit Schlüssel 'von-Strassenelement'.


neueAnfaenge

private final HashSet<String> neueAnfaenge
HashMap der aus den verbotenen Fahrbeziehungen resultierenden neuen Anfänge von Straßensegmenten.

Constructor Detail

VerboteneFahrbeziehungen

public VerboteneFahrbeziehungen()
Method Detail

addFahrbeziehung

private void addFahrbeziehung(VerboteneFahrbeziehungen.Fahrbeziehung fb)
Fügt eine neue Fahrbeziehung ein.

Parameters:
fb - Fahrbeziehung

bildeErlaubtenAnfang

public LinkedList<StrassenAbschnitt> bildeErlaubtenAnfang(LinkedList<StrassenAbschnitt> route)
Berechnet der erlaubten Anfang einer Route unter Berücksichtigung der verbotenen Fahrbeziehungen.

Parameters:
route - Liste von Straßenabschnitten
Returns:
Anfang der Route bis zur verbotenen Fahrbeziehung

bildeErlaubtenAnfang

public Route bildeErlaubtenAnfang(Route route,
                                  ImportNetz importNetz)
Berechnet der erlaubten Anfang einer Route unter Berücksichtigung der verbotenen Fahrbeziehungen.

Parameters:
route - Liste von Straßenabschnitten
importNetz - Importnetz
Returns:
Liste von Straßenabschnitten bis zur ersten enthaltenen verbotenen Fahrbeziehung

enthaelt

public boolean enthaelt(LinkedList<StrassenAbschnitt> route)
Test, ob eine Liste von Abschnitten eine verbotene Fahrbeziehung enthält.

Parameters:
route - Liste von Abschnitten
Returns:
true, wenn ein Abschnitt der Liste eine verbotene Fahrbeziehung enthält, sonst false

enthaelt

public boolean enthaelt(StrassenAbschnitt abschnitt)
Test, ob ein Abschnitt eine verbotene Fahrbeziehung enthält.

Parameters:
abschnitt - zu testender Abschnitt
Returns:
true, wenn der Abschnitt eine verbotene Fahrbeziehung enthält, sonst false

getErlaubterTeil

public StrassenElement getErlaubterTeil(StrassenAbschnitt abschnitt)
Gibt das Straßenelement des Abschnittes zurück, bis zu dem die Fahrbeziehung erlaubt ist.

Parameters:
abschnitt - StrassenAbschnitt
Returns:
letztes erlaubtes StrassenElement des Abschnittes

initialisiere

public int initialisiere(Okstra okstradb)
Initialisierungsfunktion.

Parameters:
okstradb - die Okstra-Datenbasis
Returns:
Anzahl der erzeugten Teilungspunkte

istNeuerAnfangAusVerbotenerFahrbeziehung

public boolean istNeuerAnfangAusVerbotenerFahrbeziehung(StrassenAbschnitt abschnitt)
Test, ob ein Straßenabschnitt ein neuer Anfang aus einer verbotenen Fahrbeziehung ist.

Parameters:
abschnitt - Straßenabschnitt
Returns:
true, wenn der Straßenabschnitt ein neuer Anfang aus einer verbotenen Fahrbeziehung ist, sonst false

istVerboten

public boolean istVerboten(Route froute,
                           StrassenAbschnitt abschnitt)
Test, ob durch das Anfügen eine Straßenabschnittes an eine Route eine verbotene Fahrbeziehungen entsteht.

Parameters:
froute - Route
abschnitt - Straßenabschnitt
Returns:
true, wenn die Route durch das Anfügen des Straßenabschnittes eine verbotenen Fahrbeziehung wird, onst false