ProjektGraph/out/JavaDoc/graph/Graph.html
2024-07-09 16:03:03 +02:00

767 lines
58 KiB
HTML

<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (21) on Tue Jul 09 12:47:01 CEST 2024 -->
<title>Graph</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-07-09">
<meta name="description" content="declaration: package: graph, class: Graph">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../index.html">Überblick</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Klasse</li>
<li><a href="package-tree.html">Baum</a></li>
<li><a href="../index-files/index-1.html">Index</a></li>
<li><a href="../help-doc.html#class">Hilfe</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Übersicht:</p>
<ul>
<li>Verschachtelt</li>
<li><a href="#field-summary">Feld</a></li>
<li><a href="#constructor-summary">Konstruktor</a></li>
<li><a href="#method-summary">Methode</a></li>
</ul>
</li>
<li>
<p>Details:</p>
<ul>
<li><a href="#field-detail">Feld</a></li>
<li><a href="#constructor-detail">Konstruktor</a></li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Übersicht:&nbsp;</li>
<li>Verschachtelt&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Feld</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Konstruktor</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
<ul class="sub-nav-list">
<li>Details:&nbsp;</li>
<li><a href="#field-detail">Feld</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Konstruktor</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">graph</a></div>
<h1 title="Klasse Graph" class="title">Klasse Graph&lt;T extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr>U extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>&gt;</h1>
</div>
<div class="inheritance" title="Vererbungsbaum"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">graph.Graph&lt;T,<wbr>U&gt;</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Typparameter:</dt>
<dd><code>T</code> - Type parameter for vertex markings, extends VertexMarking.</dd>
<dd><code>U</code> - Type parameter for edge markings, extends EdgeMarking.</dd>
</dl>
<dl class="notes">
<dt>Bekannte direkte Unterklassen:</dt>
<dd><code><a href="DirectedGraph.html" title="Klasse in graph">DirectedGraph</a></code>, <code><a href="UndirectedGraph.html" title="Klasse in graph">UndirectedGraph</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">Graph&lt;T extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>,<wbr>U extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>&gt;</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></span></div>
<div class="block">Abstract class representing a generic graph.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Feldübersicht</h2>
<div class="caption"><span>Felder</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Feld</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><wbr>&lt;<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#edges" class="member-name-link">edges</a></code></div>
<div class="col-last even-row-color">
<div class="block">Vector containing all marked edges in the graph.</div>
</div>
<div class="col-first odd-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color"><code><a href="#name" class="member-name-link">name</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The name of the graph.</div>
</div>
<div class="col-first even-row-color"><code>private <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><wbr>&lt;<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#vertexes" class="member-name-link">vertexes</a></code></div>
<div class="col-last even-row-color">
<div class="block">Vector containing all marked vertices in the graph.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Konstruktorübersicht</h2>
<div class="caption"><span>Konstruktoren</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Konstruktor</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Graph</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Default constructor initializes an empty graph.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">Graph</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</code></div>
<div class="col-last odd-row-color">
<div class="block">Constructor that initializes the graph with a given name.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Methodenübersicht</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstrakte Methoden</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Konkrete Methoden</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Methode</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addEdge(graph.MarkedEdge)" class="member-name-link">addEdge</a><wbr>(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&nbsp;e)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds an edge to the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addVertex(graph.MarkedVertex)" class="member-name-link">addVertex</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a vertex to the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#areAdjacent(graph.MarkedVertex,graph.MarkedVertex)" class="member-name-link">areAdjacent</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n2)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if two vertices are adjacent (connected by an edge) in the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#areAdjacent(java.lang.String,java.lang.String)" class="member-name-link">areAdjacent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s1,
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s2)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if two vertices identified by their names are adjacent (connected by an edge) in the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clearScreenGraphColor()" class="member-name-link">clearScreenGraphColor</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Resets the screen graph colors of all vertices to black.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#degree()" class="member-name-link">degree</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Computes and returns the degree of the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><wbr>&lt;<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAllEdges()" class="member-name-link">getAllEdges</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns all edges in the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a><wbr>&lt;<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAllVertexes()" class="member-name-link">getAllVertexes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns all vertices in the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="../logging/LogElementList.html" title="Klasse in logging">LogElementList</a><wbr>&lt;<a href="../OurApplication/OurLogElement.html" title="Klasse in OurApplication">OurLogElement</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLogList()" class="member-name-link">getLogList</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Abstract method to get the log list associated with the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the name of the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getScreenGraph()" class="member-name-link">getScreenGraph</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Abstract method to get the visualization representation of the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getShortestPathAStar(graph.MarkedVertex,graph.MarkedVertex)" class="member-name-link">getShortestPathAStar</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n2)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Abstract method to find the shortest path between two vertices using A* algorithm.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getShortestPathDijkstra(graph.MarkedVertex,graph.MarkedVertex)" class="member-name-link">getShortestPathDijkstra</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n2)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Abstract method to find the shortest path between two vertices using Dijkstra's algorithm.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasEdge(graph.MarkedEdge)" class="member-name-link">hasEdge</a><wbr>(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&nbsp;e)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if an edge is present in the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasEdge(graph.MarkedVertex,graph.MarkedVertex)" class="member-name-link">hasEdge</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;v1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;v2)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if there is an edge between two vertices in the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasEdge(java.lang.String)" class="member-name-link">hasEdge</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if an edge with a specific name is present in the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasEdge(java.lang.String,java.lang.String)" class="member-name-link">hasEdge</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s1,
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s2)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if there is an edge between two vertices identified by their names.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasLoop(graph.MarkedVertex)" class="member-name-link">hasLoop</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if a vertex has a loop (an edge connecting it to itself) in the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasLoop(java.lang.String)" class="member-name-link">hasLoop</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if a vertex identified by its name has a loop (an edge connecting it to itself) in the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasVertex(graph.MarkedVertex)" class="member-name-link">hasVertex</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if a vertex is present in the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasVertex(java.lang.String)" class="member-name-link">hasVertex</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if a vertex with a specific name is present in the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#numberOfEdges()" class="member-name-link">numberOfEdges</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the number of edges in the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#numberOfVertexes()" class="member-name-link">numberOfVertexes</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the number of vertices in the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeEdge(graph.MarkedEdge)" class="member-name-link">removeEdge</a><wbr>(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&nbsp;e)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes an edge from the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeEdge(java.lang.String)" class="member-name-link">removeEdge</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes an edge from the graph based on its name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeVertex(graph.MarkedVertex)" class="member-name-link">removeVertex</a><wbr>(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes a vertex from the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeVertex(java.lang.String)" class="member-name-link">removeVertex</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes a vertex from the graph based on its name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setName(java.lang.String)" class="member-name-link">setName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the name of the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a string representation of the graph.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Von Klasse geerbte Methoden&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="Klasse oder Schnittstelle in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="Klasse oder Schnittstelle in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="Klasse oder Schnittstelle in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="Klasse oder Schnittstelle in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="Klasse oder Schnittstelle in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Felddetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="name">
<h3>name</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">name</span></div>
<div class="block">The name of the graph.</div>
</section>
</li>
<li>
<section class="detail" id="vertexes">
<h3>vertexes</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a>&lt;<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a> extends <a href="VertexMarking.html" title="Klasse in graph">VertexMarking</a>&gt;&gt;</span>&nbsp;<span class="element-name">vertexes</span></div>
<div class="block">Vector containing all marked vertices in the graph.</div>
</section>
</li>
<li>
<section class="detail" id="edges">
<h3>edges</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a>&lt;<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a> extends <a href="EdgeMarking.html" title="Klasse in graph">EdgeMarking</a>&gt;&gt;</span>&nbsp;<span class="element-name">edges</span></div>
<div class="block">Vector containing all marked edges in the graph.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Konstruktordetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>Graph</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Graph</span>()</div>
<div class="block">Default constructor initializes an empty graph.</div>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(java.lang.String)">
<h3>Graph</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Graph</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</span></div>
<div class="block">Constructor that initializes the graph with a given name.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s</code> - The name of the graph.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Methodendetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Returns the name of the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>The name of the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAllEdges()">
<h3>getAllEdges</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a>&lt;<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&gt;</span>&nbsp;<span class="element-name">getAllEdges</span>()</div>
<div class="block">Returns all edges in the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>Vector containing all edges in the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAllVertexes()">
<h3>getAllVertexes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Vector.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Vector</a>&lt;<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&gt;</span>&nbsp;<span class="element-name">getAllVertexes</span>()</div>
<div class="block">Returns all vertices in the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>Vector containing all vertices in the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getScreenGraph()">
<h3>getScreenGraph</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type"><a href="../visualizationElements/Graph.html" title="Klasse in visualizationElements">Graph</a></span>&nbsp;<span class="element-name">getScreenGraph</span>()</div>
<div class="block">Abstract method to get the visualization representation of the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>Visualization representation of the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLogList()">
<h3>getLogList</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type"><a href="../logging/LogElementList.html" title="Klasse in logging">LogElementList</a>&lt;<a href="../OurApplication/OurLogElement.html" title="Klasse in OurApplication">OurLogElement</a>&gt;</span>&nbsp;<span class="element-name">getLogList</span>()</div>
<div class="block">Abstract method to get the log list associated with the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>LogElementList containing log elements associated with the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setName(java.lang.String)">
<h3>setName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setName</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</span></div>
<div class="block">Sets the name of the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s</code> - The name to set for the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<div class="block">Returns a string representation of the graph.</div>
<dl class="notes">
<dt>Setzt außer Kraft:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="Klasse oder Schnittstelle in java.lang" class="external-link">toString</a></code>&nbsp;in Klasse&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></code></dd>
<dt>Gibt zurück:</dt>
<dd>String representation of the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addEdge(graph.MarkedEdge)">
<h3>addEdge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addEdge</span><wbr><span class="parameters">(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&nbsp;e)</span></div>
<div class="block">Adds an edge to the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>e</code> - The edge to add.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addVertex(graph.MarkedVertex)">
<h3>addVertex</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addVertex</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</span></div>
<div class="block">Adds a vertex to the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>n</code> - The vertex to add.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeEdge(graph.MarkedEdge)">
<h3>removeEdge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeEdge</span><wbr><span class="parameters">(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&nbsp;e)</span></div>
<div class="block">Removes an edge from the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>e</code> - The edge to remove.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeEdge(java.lang.String)">
<h3>removeEdge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeEdge</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</span>
throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div>
<div class="block">Removes an edge from the graph based on its name.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s</code> - The name of the edge to remove.</dd>
<dt>Löst aus:</dt>
<dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - If the edge with the specified name does not exist.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeVertex(graph.MarkedVertex)">
<h3>removeVertex</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeVertex</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</span></div>
<div class="block">Removes a vertex from the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>n</code> - The vertex to remove.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeVertex(java.lang.String)">
<h3>removeVertex</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeVertex</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</span>
throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div>
<div class="block">Removes a vertex from the graph based on its name.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s</code> - The name of the vertex to remove.</dd>
<dt>Löst aus:</dt>
<dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - If the vertex with the specified name does not exist.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="numberOfEdges()">
<h3>numberOfEdges</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">numberOfEdges</span>()</div>
<div class="block">Returns the number of edges in the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>The number of edges in the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="numberOfVertexes()">
<h3>numberOfVertexes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">numberOfVertexes</span>()</div>
<div class="block">Returns the number of vertices in the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>The number of vertices in the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="degree()">
<h3>degree</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">degree</span>()</div>
<div class="block">Computes and returns the degree of the graph.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>The degree of the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasVertex(graph.MarkedVertex)">
<h3>hasVertex</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasVertex</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</span></div>
<div class="block">Checks if a vertex is present in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>n</code> - The vertex to check.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the vertex is present, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasVertex(java.lang.String)">
<h3>hasVertex</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasVertex</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</span></div>
<div class="block">Checks if a vertex with a specific name is present in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s</code> - The name of the vertex to check.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the vertex with the given name is present, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasEdge(graph.MarkedEdge)">
<h3>hasEdge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasEdge</span><wbr><span class="parameters">(<a href="MarkedEdge.html" title="Klasse in graph">MarkedEdge</a>&lt;<a href="Graph.html" title="Typparameter in Graph">U</a>&gt;&nbsp;e)</span></div>
<div class="block">Checks if an edge is present in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>e</code> - The edge to check.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the edge is present, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasEdge(java.lang.String)">
<h3>hasEdge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasEdge</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</span></div>
<div class="block">Checks if an edge with a specific name is present in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s</code> - The name of the edge to check.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the edge with the given name is present, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasEdge(graph.MarkedVertex,graph.MarkedVertex)">
<h3>hasEdge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasEdge</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;v1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;v2)</span></div>
<div class="block">Checks if there is an edge between two vertices in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>v1</code> - First vertex.</dd>
<dd><code>v2</code> - Second vertex.</dd>
<dt>Gibt zurück:</dt>
<dd>True if there is an edge between the vertices, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasEdge(java.lang.String,java.lang.String)">
<h3>hasEdge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasEdge</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s1,
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s2)</span>
throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div>
<div class="block">Checks if there is an edge between two vertices identified by their names.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s1</code> - Name of the first vertex.</dd>
<dd><code>s2</code> - Name of the second vertex.</dd>
<dt>Gibt zurück:</dt>
<dd>True if there is an edge between the vertices, false otherwise.</dd>
<dt>Löst aus:</dt>
<dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - If one of the vertex names does not exist in the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="areAdjacent(graph.MarkedVertex,graph.MarkedVertex)">
<h3>areAdjacent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">areAdjacent</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n2)</span></div>
<div class="block">Checks if two vertices are adjacent (connected by an edge) in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>n1</code> - First vertex.</dd>
<dd><code>n2</code> - Second vertex.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the vertices are adjacent, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="areAdjacent(java.lang.String,java.lang.String)">
<h3>areAdjacent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">areAdjacent</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s1,
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s2)</span>
throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div>
<div class="block">Checks if two vertices identified by their names are adjacent (connected by an edge) in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s1</code> - Name of the first vertex.</dd>
<dd><code>s2</code> - Name of the second vertex.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the vertices are adjacent, false otherwise.</dd>
<dt>Löst aus:</dt>
<dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - If one of the vertex names does not exist in the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasLoop(graph.MarkedVertex)">
<h3>hasLoop</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasLoop</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n)</span></div>
<div class="block">Checks if a vertex has a loop (an edge connecting it to itself) in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>n</code> - The vertex to check.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the vertex has a loop, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasLoop(java.lang.String)">
<h3>hasLoop</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasLoop</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">String</a>&nbsp;s)</span>
throws <span class="exceptions"><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></span></div>
<div class="block">Checks if a vertex identified by its name has a loop (an edge connecting it to itself) in the graph.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>s</code> - The name of the vertex to check.</dd>
<dt>Gibt zurück:</dt>
<dd>True if the vertex has a loop, false otherwise.</dd>
<dt>Löst aus:</dt>
<dd><code><a href="NameDoesNotExistException.html" title="Klasse in graph">NameDoesNotExistException</a></code> - If the vertex name does not exist in the graph.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clearScreenGraphColor()">
<h3>clearScreenGraphColor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">clearScreenGraphColor</span>()</div>
<div class="block">Resets the screen graph colors of all vertices to black.</div>
</section>
</li>
<li>
<section class="detail" id="getShortestPathDijkstra(graph.MarkedVertex,graph.MarkedVertex)">
<h3>getShortestPathDijkstra</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getShortestPathDijkstra</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n2)</span></div>
<div class="block">Abstract method to find the shortest path between two vertices using Dijkstra's algorithm.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>n1</code> - Starting vertex.</dd>
<dd><code>n2</code> - Destination vertex.</dd>
<dt>Gibt zurück:</dt>
<dd>Length of the shortest path between the vertices.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getShortestPathAStar(graph.MarkedVertex,graph.MarkedVertex)">
<h3>getShortestPathAStar</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getShortestPathAStar</span><wbr><span class="parameters">(<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n1,
<a href="MarkedVertex.html" title="Klasse in graph">MarkedVertex</a>&lt;<a href="Graph.html" title="Typparameter in Graph">T</a>&gt;&nbsp;n2)</span></div>
<div class="block">Abstract method to find the shortest path between two vertices using A* algorithm.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>n1</code> - Starting vertex.</dd>
<dd><code>n2</code> - Destination vertex.</dd>
<dt>Gibt zurück:</dt>
<dd>Length of the shortest path between the vertices.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>