Package graph

## Class Kante

- java.lang.Object
- - graph.GraphElement
  - - graph.Kante

- All Implemented Interfaces:
    `Comparable<GraphElement>`

      public class Kante
      extends GraphElement

  Die Klasse Kante beschreibt die Datenstruktur einer Kante, bestehend aus Startknoten, Gewicht und Zielknoten. Da Kanten innerhalb von Adjazenzlisten und -Matrizen repraesentiert werden, ist diese Klasse eigentlich unnoetig! Sie wurde zum Zweck der Vereinfachung - sozusagen als Zwischenspeicher von Kanten - eingefuehrt. Auch soll sie das Kantengewicht verwalten und Aufschluss darueber geben, ob sie gefaerbt/geloescht ist oder nicht.
  Version:
    22.07.2020 (v6.4)
  Author:
    Dirk Zechnall, Thomas Schaller

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Kante​(Knoten neuerStart, Knoten neuerZiel, double neuesGewicht)` | Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `compareTo​(GraphElement e)` | Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts
    `Knoten` | `getAnderesEnde​(Knoten k)` | Gibt Knoten am anderen Ende der Kante zurueck
    `int` | `getFarbe()` | Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll.
    `double` | `getGewicht()` | Gibt das Gewicht der Kante zurueck
    `Knoten` | `getStart()` | Gibt den Startknoten der Kante zurueck
    `String` | `getStatus()` | Liefert den Status einer Kante als String.
    `Knoten` | `getZiel()` | Gibt den Zielknoten der Kante zurueck
    `protected void` | `init()` | Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)
    `boolean` | `isGeloescht()` | Gibt den gelöscht-Wert der Kante zurueck
    `boolean` | `isMarkiert()` | Gibt zurück, ob die Kanten markiert ist
    `void` | `setFarbe​(int farbe)` | Setzt die Farbe auf einen bestimmten Farbindex
    `void` | `setGeloescht​(boolean wert)` | Setzt das gelöscht-Attribut der Kante
    `void` | `setGewicht​(double neuesGewicht)` | Setzt das Gewicht der Kante
    `void` | `setMarkiert​(boolean wert)` | Setzt das markiert-Attribut der Kante
    `void` | `setStandardFarbe()` | Setzt die Farbe auf die Standardfarbgebung zurück
    `void` | `setStart​(Knoten neuerSatrtKnoten)` | Setzt den Startknoten der Kante
    `void` | `setStatus​(String status)` | Setzt den Status einer Kante, der in einem String gespeichert ist.
    `void` | `setZiel​(Knoten neuerZielKnoten)` | Setzt den Zielknoten der Kante
    `String` | `toString()` | Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Kante

          public Kante​(Knoten neuerStart,
                       Knoten neuerZiel,
                       double neuesGewicht)

      Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht. Die Kante ist zu Beginn ungefaerbt.
      Parameters:
        `neuerStart` - Der neue Startknoten
        `neuerZiel` - Der neue Zielknoten
        `neuesGewicht` - Das neue Kantengewicht

  - ### Method Detail

    - #### init

          protected void init()

      Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)

    - #### setStatus

          public void setStatus​(String status)

      Setzt den Status einer Kante, der in einem String gespeichert ist. Form: markiert,geloescht,farbe Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und die farbe eine Zahl
      Specified by:
        `setStatus` in class `GraphElement`
      Parameters:
        `status` - Statusstring

    - #### getStatus

          public String getStatus()

      Liefert den Status einer Kante als String. Form: markiert,geloescht,farbe Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und die farbe eine Zahl
      Specified by:
        `getStatus` in class `GraphElement`
      Returns:
        Statusstring

    - #### setGewicht

          public void setGewicht​(double neuesGewicht)

      Setzt das Gewicht der Kante
      Parameters:
        `neuesGewicht` - Das neu zu setzende Gewicht

    - #### getGewicht

          public double getGewicht()

      Gibt das Gewicht der Kante zurueck
      Returns:
        Gewicht der Kante

    - #### setStart

          public void setStart​(Knoten neuerSatrtKnoten)

      Setzt den Startknoten der Kante
      Parameters:
        `neuerSatrtKnoten` - Der neu zu setzende Startknoten

    - #### getStart

          public Knoten getStart()

      Gibt den Startknoten der Kante zurueck
      Returns:
        Startknoten

    - #### setZiel

          public void setZiel​(Knoten neuerZielKnoten)

      Setzt den Zielknoten der Kante
      Parameters:
        `neuerZielKnoten` - Der neu zu setzende Zielknoten

    - #### getZiel

          public Knoten getZiel()

      Gibt den Zielknoten der Kante zurueck
      Returns:
        Zielknoten

    - #### getAnderesEnde

          public Knoten getAnderesEnde​(Knoten k)

      Gibt Knoten am anderen Ende der Kante zurueck
      Parameters:
        `k` - Knoten am ersten Ende der Kante
      Returns:
        Knoten am anderen Ende

    - #### setMarkiert

          public void setMarkiert​(boolean wert)

      Setzt das markiert-Attribut der Kante
      Parameters:
        `wert` - Der neu zu setzende markiert-Wert

    - #### isMarkiert

          public boolean isMarkiert()

      Gibt zurück, ob die Kanten markiert ist
      Returns:
        markiert?

    - #### setGeloescht

          public void setGeloescht​(boolean wert)

      Setzt das gelöscht-Attribut der Kante
      Parameters:
        `wert` - Der neu zu setzende gelöscht-Wert

    - #### isGeloescht

          public boolean isGeloescht()

      Gibt den gelöscht-Wert der Kante zurueck
      Returns:
        gelöscht?

    - #### getFarbe

          public int getFarbe()

      Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll. Ist die Farbe nicht gesetzt, dann wird eine unmarkierte Kante in Farbe 1 und eine markierte in Farbe 2 gezeichnet.
      Returns:
        Nummer der Farbe

    - #### setFarbe

          public void setFarbe​(int farbe)

      Setzt die Farbe auf einen bestimmten Farbindex
      Parameters:
        `farbe` - Index der Farbe (0-19)

    - #### setStandardFarbe

          public void setStandardFarbe()

      Setzt die Farbe auf die Standardfarbgebung zurück

    - #### compareTo

          public int compareTo​(GraphElement e)

      Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts
      Specified by:
        `compareTo` in interface `Comparable<GraphElement>`
      Specified by:
        `compareTo` in class `GraphElement`
      Parameters:
        `e` - andere Kante
      Returns:
        kleiner 0 die andere Kante hat ein größeres Gewicht, größer 0 die andere Kante hat ein kleineres Gewicht, gleich 0 beides sind gleich

    - #### toString

          public String toString()

      Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck
      Overrides:
        `toString` in class `Object`
      Returns:
        String-Raepraesentation der Kante