aboutsummaryrefslogtreecommitdiff
path: root/src/com.example.portfolio3
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-04-29 08:33:41 +0200
committerJonas Smedegaard <dr@jones.dk>2025-04-29 08:35:31 +0200
commit56362295799741bec6ffe5c7713dbc2f1ee86dd7 (patch)
tree539ebac0d4ff0cf8b90ce6f0ed5b87e53f85cb81 /src/com.example.portfolio3
parent69d79b5eade0ef24f7b2ac4dcec2fffd13098c10 (diff)
set methods final to avoid uncertain subclassing
Diffstat (limited to 'src/com.example.portfolio3')
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java6
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java8
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/Edge.java8
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java8
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/Vertex.java4
5 files changed, 17 insertions, 17 deletions
diff --git a/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java
index dbd4aa8..054fa65 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java
@@ -21,7 +21,7 @@ public abstract class AbstractGraph implements Graph {
/// foo
/// @param s foo
/// @return Vertex
- public Vertex vertex(final String s) {
+ public final Vertex vertex(final String s) {
if (vertexMap.containsKey(s)) {
return vertexMap.get(s);
}
@@ -33,12 +33,12 @@ public abstract class AbstractGraph implements Graph {
}
/// foo
- public void insertEdge(final String v, final String u, final int w) {
+ public final void insertEdge(final String v, final String u, final int w) {
insertEdge(vertex(v), vertex(u), w);
}
/// foo
- public Collection<Vertex> vertices() {
+ public final Collection<Vertex> vertices() {
return vertexSet;
}
diff --git a/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java
index f90172e..f6e1130 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java
@@ -18,7 +18,7 @@ public class AdjListGraph extends AbstractGraph {
private Map<Vertex,Set<Edge>> outEdge = new HashMap<>();
/// foo
- public void insertEdge(final Vertex v1, final Vertex v2, final int w) {
+ public final void insertEdge(final Vertex v1, final Vertex v2, final int w) {
Edge e = new Edge(v1, v2, w);
if (!outEdge.containsKey(e.from())) {
outEdge.put(e.from(), new HashSet<Edge>());
@@ -27,7 +27,7 @@ public class AdjListGraph extends AbstractGraph {
}
/// foo
- public Collection<Edge> edges() {
+ public final Collection<Edge> edges() {
Set<Edge> edges = new HashSet<>();
for (Vertex v: outEdge.keySet()) {
edges.addAll(outEdge.get(v));
@@ -37,7 +37,7 @@ public class AdjListGraph extends AbstractGraph {
}
/// foo
- public Collection<Edge> outEdge(final Vertex v) {
+ public final Collection<Edge> outEdge(final Vertex v) {
if (!outEdge.containsKey(v)) {
return new HashSet<Edge>();
}
@@ -46,7 +46,7 @@ public class AdjListGraph extends AbstractGraph {
}
/// foo
- public Integer getWeight(final Vertex v1, final Vertex v2) {
+ public final Integer getWeight(final Vertex v1, final Vertex v2) {
// linear in number of outedges from vertices
if (!outEdge.containsKey(v1)) {
diff --git a/src/com.example.portfolio3/com/example/portfolio3/Edge.java b/src/com.example.portfolio3/com/example/portfolio3/Edge.java
index 065b6ae..c4fa227 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/Edge.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/Edge.java
@@ -13,19 +13,19 @@ public class Edge {
/// foo
/// @return Vertex
- public Vertex from() {
+ public final Vertex from() {
return from;
}
/// foo
/// @return Vertex
- public Vertex to() {
+ public final Vertex to() {
return to;
}
/// foo
/// @return int
- public int weight() {
+ public final int weight() {
return weight;
}
@@ -41,7 +41,7 @@ public class Edge {
/// foo
/// @return String
- public String toString() {
+ public final String toString() {
return from.name() + " - " + weight + " -> " + to.name();
}
}
diff --git a/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java b/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java
index 67c095e..463bf8d 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java
@@ -51,12 +51,12 @@ public class MatrixGraph extends AbstractGraph {
}
/// foo
- public void insertEdge(final Vertex v1, final Vertex v2, final int w) {
+ public final void insertEdge(final Vertex v1, final Vertex v2, final int w) {
matrix[getIndex(v1)][getIndex(v2)] = w;
}
/// foo
- public Collection<Edge> edges() {
+ public final Collection<Edge> edges() {
HashSet<Edge> edges = new HashSet<>();
for (int i = 0; i < numVertex; i++) {
for (int j = 0; j < numVertex; j++) {
@@ -72,7 +72,7 @@ public class MatrixGraph extends AbstractGraph {
}
/// foo
- public Collection<Edge> outEdge(final Vertex v1) {
+ public final Collection<Edge> outEdge(final Vertex v1) {
HashSet<Edge> edges = new HashSet<>();
int i = vertex2index.get(v1);
for (int j = 0; j < numVertex; j++) {
@@ -87,7 +87,7 @@ public class MatrixGraph extends AbstractGraph {
}
/// foo
- public Integer getWeight(final Vertex v1, final Vertex v2) {
+ public final Integer getWeight(final Vertex v1, final Vertex v2) {
// constant time operation
return matrix[vertex2index.get(v1)][vertex2index.get(v2)];
diff --git a/src/com.example.portfolio3/com/example/portfolio3/Vertex.java b/src/com.example.portfolio3/com/example/portfolio3/Vertex.java
index 420263a..979728c 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/Vertex.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/Vertex.java
@@ -11,7 +11,7 @@ public class Vertex {
/// foo
///
/// @return String
- public String name() {
+ public final String name() {
return name;
}
@@ -25,7 +25,7 @@ public class Vertex {
/// foo
///
/// @return String
- public String toString() {
+ public final String toString() {
return name;
}
}