# Knoten (1_graphentester)

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
`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
`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