Package graph

## Class Knoten

- java.lang.Object
- - graph.GraphElement
  - - graph.Knoten

- All Implemented Interfaces:
    `Comparable<GraphElement>`

      public class Knoten
      extends GraphElement

  Diese Klasse Knoten definiert einen Knoten. Knoten haben eine Position, eine Farbe und einen Wert für sonstige Codierungszwecke und sind markiert und/oder besucht. Im Infotext kann eine zusätzliche Information für die Anzeige gespeichert werden.
  Version:
    22.07.2020 (v6.4)
  Author:
    Dirk Zechnall, Thomas Schaller

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Knoten​(int x, int y)` | Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
    `Knoten​(int x, int y, double neuerWert)` | Der Konstruktor erstellt einen neuen Knoten mit einem Startwert

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `compareTo​(GraphElement e)` | Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
    `double` | `getDoubleWert()` | Gibt den Wert vom Knoten als Double-Wert zurueck
    `int` | `getFarbe()` | Gibt den Index der Farbe des Knoten zurück.
    `String` | `getInfotext()` | Liefert den Infotext des Knotens
    `int` | `getIntWert()` | Gibt den Wert vom Knoten als Integer-Wert zurueck
    `String` | `getStatus()` | Liefert den Status eines Knotens als Status-String Format: wert,markiert,besucht,farbe wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und farbe eine zahl ist.
    `int` | `getX()` | Liefert die x-Position des Knotens
    `int` | `getY()` | Liefert die y-Position des Knotens
    `protected void` | `init()` | Die Methode init initialisiert den Zustand eines Knotens
    `boolean` | `isBesucht()` | Gibt den Besuchtwert vom Knoten zurueck
    `boolean` | `isFarbeAutomatisch()` | Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
    `boolean` | `isMarkiert()` | Gibt den Markiertwert vom Knoten zurueck
    `void` | `setBesucht​(boolean markiert)` | Setzt das Besuchtattribut vom Knoten
    `void` | `setFarbe​(int farbe)` | Setzt den Index der Farbe des Knoten.
    `void` | `setFarbeAutomatisch​(boolean auto)` | Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
    `void` | `setInfotext​(String infotext)` | Setzt den Infotext für einen Knoten
    `void` | `setMarkiert​(boolean markiert)` | Setzt das Markiertattribut vom Knoten
    `void` | `setStatus​(String status)` | Setzt den Status eines Knotens aus einem Status-String Format: wert,markiert,besucht,farbe wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und farbe eine zahl ist.
    `void` | `setWert​(double neuerWert)` | Setzt den Wert beim Knoten
    `void` | `setX​(int x)` | Setzt die x-Position des Knotens
    `void` | `setY​(int y)` | Setzt die y-Position des Knotens
    `String` | `toString()` | Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck

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

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

- - ### Constructor Detail

    - #### Knoten

          public Knoten​(int x,
                        int y)

      Der Konstruktor erstellt einen neuen Knoten mit einem neuen Namen
      Parameters:
        `x` - x-Position des Knotens
        `y` - y-Position des Knotens

    - #### Knoten

          public Knoten​(int x,
                        int y,
                        double neuerWert)

      Der Konstruktor erstellt einen neuen Knoten mit einem Startwert
      Parameters:
        `x` - x-Position des Knotens
        `y` - y-Position des Knotens
        `neuerWert` - Der neue Wert des Knotens

  - ### Method Detail

    - #### setStatus

          public void setStatus​(String status)

      Setzt den Status eines Knotens aus einem Status-String Format: wert,markiert,besucht,farbe wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und farbe eine zahl ist.
      Specified by:
        `setStatus` in class `GraphElement`
      Parameters:
        `status` - Der Statusstring

    - #### getStatus

          public String getStatus()

      Liefert den Status eines Knotens als Status-String Format: wert,markiert,besucht,farbe wobei wert eine double-Zahl, mariert und besucht ein boolean-Wert (0=false, 1 = true) und farbe eine zahl ist.
      Specified by:
        `getStatus` in class `GraphElement`
      Returns:
        Der Statusstring

    - #### init

          protected void init()

      Die Methode init initialisiert den Zustand eines Knotens

    - #### setInfotext

          public void setInfotext​(String infotext)

      Setzt den Infotext für einen Knoten
      Parameters:
        `infotext` - Der neue Text

    - #### getInfotext

          public String getInfotext()

      Liefert den Infotext des Knotens
      Returns:
        Der Infotext

    - #### setWert

          public void setWert​(double neuerWert)

      Setzt den Wert beim Knoten
      Parameters:
        `neuerWert` - Der neu zu setzende Wert

    - #### getIntWert

          public int getIntWert()

      Gibt den Wert vom Knoten als Integer-Wert zurueck
      Returns:
        Wert des Knotens

    - #### getDoubleWert

          public double getDoubleWert()

      Gibt den Wert vom Knoten als Double-Wert zurueck
      Returns:
        Wert des Knotens

    - #### setMarkiert

          public void setMarkiert​(boolean markiert)

      Setzt das Markiertattribut vom Knoten
      Parameters:
        `markiert` - Der neu zu setzende Markiertwert

    - #### isMarkiert

          public boolean isMarkiert()

      Gibt den Markiertwert vom Knoten zurueck
      Returns:
        markiert?

    - #### setBesucht

          public void setBesucht​(boolean markiert)

      Setzt das Besuchtattribut vom Knoten
      Parameters:
        `markiert` - Der neu zu setzende Besuchtwert

    - #### isBesucht

          public boolean isBesucht()

      Gibt den Besuchtwert vom Knoten zurueck
      Returns:
        besucht?

    - #### getFarbe

          public int getFarbe()

      Gibt den Index der Farbe des Knoten zurück. Standardmäßig hängt die Farbe von den Attributen markiert und besucht ab. Durch Setzen der Farbe kann die Farbe gezielt gesetzt werden.
      Returns:
        Farbe des Knotens

    - #### setFarbe

          public void setFarbe​(int farbe)

      Setzt den Index der Farbe des Knoten. Standardmäßig hängt die Farbe von den Attributen markiert, besucht und beendet ab. Durch Setzen der Farbe kann die Farbe gezielt gesetzt werden.
      Parameters:
        `farbe` - Index der Farbe (0-19)

    - #### isFarbeAutomatisch

          public boolean isFarbeAutomatisch()

      Gibt zurück, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
      Returns:
        true=Farbe wird automatisch bestimmt, false=Farbe wurde explizit gesetzt.

    - #### setFarbeAutomatisch

          public void setFarbeAutomatisch​(boolean auto)

      Legt fest, ob die Knotenfarbe automatisch aus den Attributen ermittelt wird.
      Parameters:
        `auto` - true=Farbe wird automatisch bestimmt, false=Farbe wird explizit gesetzt.

    - #### getX

          public int getX()

      Liefert die x-Position des Knotens
      Returns:
        x-Postion

    - #### getY

          public int getY()

      Liefert die y-Position des Knotens
      Returns:
        y-Postion

    - #### setX

          public void setX​(int x)

      Setzt die x-Position des Knotens
      Parameters:
        `x` - x-Postion

    - #### setY

          public void setY​(int y)

      Setzt die y-Position des Knotens
      Parameters:
        `y` - y-Postion

    - #### compareTo

          public int compareTo​(GraphElement e)

      Vergleicht den Knoten mit einem anderen Knoten bezüglich seines Werts
      Specified by:
        `compareTo` in interface `Comparable<GraphElement>`
      Specified by:
        `compareTo` in class `GraphElement`
      Parameters:
        `e` - anderer Knoten
      Returns:
        kleiner 0 der andere Knoten hat einen größeren Wert, größer 0 der andere Knoten hat einen kleineren Wert, gleich 0 beide sind gleich

    - #### toString

          public String toString()

      Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation eines Knotens zurueck
      Overrides:
        `toString` in class `Object`
      Returns:
        String-Raepraesentation des Knotens