# GraphElement
declaration: package: graph, class: GraphElement

Package graph

# Klasse GraphElement

java.lang.Object
graph.GraphElement

Alle implementierten Schnittstellen:
  `Comparable<GraphElement>`

public abstract class GraphElement extends Object implements Comparable<GraphElement>
Die Klasse GraphElement ist eine Oberklasse von Knoten und Kanten. Sie ist nur für die interne Verarbeitung wichtig.

Version:
  28.02.2023 (v7.0) v7.0: Die am Element gespeicherten Informationen werden in einer Hashmap gespeichert. Daher können beliebige weitere Informationen abgelegt werden. Es wird auch gespeichert, als welcher Typ die Information übergeben wurde.
Autor:
  Thomas Schaller

## Feldübersicht

Felder
Modifizierer und Typ
Feld
Beschreibung
`protected HashMap<String,String>`
`daten`
`protected graph.Graph`
`g`
`protected String`
`sortierKriterium`
`protected HashMap<String,String>`
`typen`

## Konstruktorübersicht

Konstruktoren
Konstruktor
Beschreibung
`GraphElement()`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`int`
`compareTo(GraphElement e)`
Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.
`boolean`
`getBoolean(String name)`
Gibt zusätzliche Daten als int zurück
`double`
`getDouble(String name)`
Gibt zusätzliche Daten als int zurück
`int`
`getInt(String name)`
Gibt zusätzliche Daten als int zurück
`abstract List<String>`
`getKurztext(String[] namen)`
Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im Kreis bzw.
`abstract List<String>`
`getLangtext(String[] namen)`
Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im Tooltip-Fenster zurück.
`String`
`getStatus()`
Liefert den Status einer Kante als String.
`String`
`getString(String name)`
Gibt zusätzliche Daten als String zurück
`void`
`set(String name, boolean wert)`
Speichert zusätzliche Daten am Knoten oder der Kante
`void`
`set(String name, double wert)`
Speichert zusätzliche Daten am Knoten oder der Kante Double.POSITIVE_INFINITY bzw.
`void`
`set(String name, int wert)`
Speichert zusätzliche Daten am Knoten oder der Kante Integer.MAX_VALUE bzw.
`void`
`set(String name, String wert)`
Speichert zusätzliche Daten am Knoten oder der Kante
`void`
`setGraph(graph.Graph g)`
Speichert den Graphen, in den Knoten/Kante eingefügt wurde.
`void`
`setSortierkriterium(String name)`
Setzt das Sortierkriterium des Knoten/der Kante.
`void`
`setStatus(String status)`
Setzt den Status einer Kante, der in einem String gespeichert ist.

### Von Klasse geerbte Methoden java.lang.Object

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

## Felddetails

### daten

protected HashMap<String,String> daten

### typen

protected HashMap<String,String> typen

### g

protected graph.Graph g

### sortierKriterium

protected String sortierKriterium

## Konstruktordetails

### GraphElement

public GraphElement()

## Methodendetails

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

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

Gibt zurück:
  Statusstring

### setSortierkriterium

public void setSortierkriterium(String name)
Setzt das Sortierkriterium des Knoten/der Kante.

Parameter:
  `name` - Bezeichnung des Wertes nach dem sortiert werden soll

### getKurztext

public abstract List<String> getKurztext(String[] namen)
Gibt die Beschreibung des Knoten / der Kante als Kurztext für die Anzeige im Kreis bzw. Kasten zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile dargestellt. Es werden nur die Werte angezeigt. Es sind max. 2 Zeilen zulässig.

Parameter:
  `namen` - Namen der Werte, die im Kurztext angezeigt werden sollen.

### getLangtext

public abstract List<String> getLangtext(String[] namen)
Gibt die Beschreibung des Knoten / der Kante als Langtext für die Anzeige im Tooltip-Fenster zurück. Dabei wird jeder Eintrag der Liste als eigene Zeile dargestellt. Es wird jeweils die Bezeichnung und der Wert ausgegeben.

Parameter:
  `namen` - Namen der Werte, die im Tooltip angezeigt werden sollen.

### setGraph

public void setGraph(graph.Graph g)
Speichert den Graphen, in den Knoten/Kante eingefügt wurde. Damit kann er selbst seine Nummer ermitteln.

Parameter:
  `g` - Graph

### set

public void set(String name, String wert)
Speichert zusätzliche Daten am Knoten oder der Kante

Parameter:
  `name` - Bezeichnung der Art der Daten
  `wert` - Wert der zu speichernden Daten

### set

public void set(String name, double wert)
Speichert zusätzliche Daten am Knoten oder der Kante Double.POSITIVE_INFINITY bzw. NEGATIVE_INFINITY wird als +/- unendlich dargestellt

Parameter:
  `name` - Bezeichnung der Art der Daten
  `wert` - Wert der zu speichernden Daten

### set

public void set(String name, int wert)
Speichert zusätzliche Daten am Knoten oder der Kante Integer.MAX_VALUE bzw. MIN_VALUE werden als +/- unendlich dargestellt.

Parameter:
  `name` - Bezeichnung der Art der Daten
  `wert` - Wert der zu speichernden Daten

### set

public void set(String name, boolean wert)
Speichert zusätzliche Daten am Knoten oder der Kante

Parameter:
  `name` - Bezeichnung der Art der Daten
  `wert` - Wert der zu speichernden Daten

### getString

public String getString(String name)
Gibt zusätzliche Daten als String zurück

Parameter:
  `name` - Bezeichnung der zusätzlichen Daten
Gibt zurück:
  Wert von "name" oder "", wenn name nicht gespeichert ist

### getInt

public int getInt(String name)
Gibt zusätzliche Daten als int zurück

Parameter:
  `name` - Bezeichnung der zusätzlichen Daten
Gibt zurück:
  Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist

### getDouble

public double getDouble(String name)
Gibt zusätzliche Daten als int zurück

Parameter:
  `name` - Bezeichnung der zusätzlichen Daten
Gibt zurück:
  Wert von "name" oder 0, wenn name nicht gespeichert ist oder keine Zahl ist

### getBoolean

public boolean getBoolean(String name)
Gibt zusätzliche Daten als int zurück

Parameter:
  `name` - Bezeichnung der zusätzlichen Daten
Gibt zurück:
  Wert von "name" oder false, wenn name nicht gespeichert ist oder kein Boolean ist

### compareTo

public int compareTo(GraphElement e)
Vergleicht den Knoten/Kante mit einem anderen Knoten/Kante bezüglich seines Sortierkriteriums Das Sortierkriterium ist normalerweise der "Wert", kann aber mit setSortierkriterium gesetzt werden.

Angegeben von:
  `compareTo` in Schnittstelle `Comparable<GraphElement>`
Parameter:
  `e` - anderer Knoten
Gibt zurück:
  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