# HG changeset patch
# User Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
# Date 1721842713 -7200
# Node ID 2543e24eb79a980363ff1e7e35df8090f50e24e1
# Parent  c2164decf7f179dc292a8e79282f8b03ad6684d0
Add final to more classes.

diff --git a/src/main/java/org/monetdb/mcl/MCLException.java b/src/main/java/org/monetdb/mcl/MCLException.java
--- a/src/main/java/org/monetdb/mcl/MCLException.java
+++ b/src/main/java/org/monetdb/mcl/MCLException.java
@@ -16,9 +16,8 @@ package org.monetdb.mcl;
  * A general purpose Exception class for MCL related problems.  This
  * class should be used if no more precise Exception class exists.
  */
+@SuppressWarnings("serial")
 public final class MCLException extends Exception {
-	private static final long serialVersionUID = 1L;
-
 	public MCLException(String message) {
 		super(message);
 	}
diff --git a/src/main/java/org/monetdb/mcl/net/ClientInfo.java b/src/main/java/org/monetdb/mcl/net/ClientInfo.java
--- a/src/main/java/org/monetdb/mcl/net/ClientInfo.java
+++ b/src/main/java/org/monetdb/mcl/net/ClientInfo.java
@@ -32,7 +32,7 @@ import java.util.Set;
  * Manage ClientInfo properties to track, and help generating a
  * @{link SQLClientInfoException} if there is a failure
  */
-public class ClientInfo {
+public final class ClientInfo {
 	public static final String defaultHostname = findHostname();
 
 	public static final String defaultClientLibrary = findClientLibrary();
diff --git a/src/main/java/org/monetdb/mcl/net/HandshakeOption.java b/src/main/java/org/monetdb/mcl/net/HandshakeOption.java
--- a/src/main/java/org/monetdb/mcl/net/HandshakeOption.java
+++ b/src/main/java/org/monetdb/mcl/net/HandshakeOption.java
@@ -75,13 +75,13 @@ public abstract class HandshakeOption<T>
 		}
 	}
 
-	public static class AutoCommit extends BooleanOption {
+	public final static class AutoCommit extends BooleanOption {
 		public AutoCommit(boolean autoCommit) {
 			super(1, "auto_commit",  autoCommit);
 		}
 	}
 
-	public static class ReplySize extends HandshakeOption<Integer> {
+	public final static class ReplySize extends HandshakeOption<Integer> {
 		public ReplySize(int size) {
 			super(2, "reply_size", size);
 		}
@@ -92,14 +92,14 @@ public abstract class HandshakeOption<T>
 		}
 	}
 
-	public static class SizeHeader extends BooleanOption {
+	public final static class SizeHeader extends BooleanOption {
 		public SizeHeader(boolean sendHeader) {
 			super(3, "size_header", sendHeader);
 			set(sendHeader);
 		}
 	}
 
-	public static class TimeZone extends HandshakeOption<Integer> {
+	public final static class TimeZone extends HandshakeOption<Integer> {
 		public TimeZone(int offset) {
 			super(5, "time_zone", offset);
 		}
diff --git a/src/main/java/org/monetdb/mcl/net/MonetUrlParser.java b/src/main/java/org/monetdb/mcl/net/MonetUrlParser.java
--- a/src/main/java/org/monetdb/mcl/net/MonetUrlParser.java
+++ b/src/main/java/org/monetdb/mcl/net/MonetUrlParser.java
@@ -22,7 +22,7 @@ import java.net.URLEncoder;
  * Helper class to keep the URL parsing code separate from the rest of
  * the {@link Target} class.
  */
-public class MonetUrlParser {
+public final class MonetUrlParser {
 	private final Target target;
 	private final String urlText;
 	private final URI url;
diff --git a/src/main/java/org/monetdb/mcl/net/SecureSocket.java b/src/main/java/org/monetdb/mcl/net/SecureSocket.java
--- a/src/main/java/org/monetdb/mcl/net/SecureSocket.java
+++ b/src/main/java/org/monetdb/mcl/net/SecureSocket.java
@@ -24,7 +24,7 @@ import java.security.cert.CertificateFac
 import java.security.cert.X509Certificate;
 import java.util.Collections;
 
-public class SecureSocket {
+public final class SecureSocket {
 	private static final String[] ENABLED_PROTOCOLS = {"TLSv1.3"};
 	private static final String[] APPLICATION_PROTOCOLS = {"mapi/9"};
 
diff --git a/src/main/java/org/monetdb/mcl/net/Target.java b/src/main/java/org/monetdb/mcl/net/Target.java
--- a/src/main/java/org/monetdb/mcl/net/Target.java
+++ b/src/main/java/org/monetdb/mcl/net/Target.java
@@ -16,7 +16,7 @@ import java.net.URISyntaxException;
 import java.util.Properties;
 import java.util.regex.Pattern;
 
-public class Target {
+public final class Target {
 	protected static final Target defaults = new Target();
 	private static final Pattern namePattern = Pattern.compile("^[a-zzA-Z_][-a-zA-Z0-9_.]*$");
 	private static final Pattern hashPattern = Pattern.compile("^sha256:[0-9a-fA-F:]*$");
diff --git a/src/main/java/org/monetdb/mcl/net/ValidationError.java b/src/main/java/org/monetdb/mcl/net/ValidationError.java
--- a/src/main/java/org/monetdb/mcl/net/ValidationError.java
+++ b/src/main/java/org/monetdb/mcl/net/ValidationError.java
@@ -13,7 +13,7 @@
 package org.monetdb.mcl.net;
 
 @SuppressWarnings("serial")
-public class ValidationError extends Exception {
+public final class ValidationError extends Exception {
 	public ValidationError(String parameter, String message) {
 		super(parameter + ": " + message);
 	}
diff --git a/src/main/java/org/monetdb/mcl/parser/MCLParseException.java b/src/main/java/org/monetdb/mcl/parser/MCLParseException.java
--- a/src/main/java/org/monetdb/mcl/parser/MCLParseException.java
+++ b/src/main/java/org/monetdb/mcl/parser/MCLParseException.java
@@ -22,7 +22,7 @@ package org.monetdb.mcl.parser;
  * that the error message includes the offending data read.
  */
 @SuppressWarnings("serial")
-public class MCLParseException extends java.text.ParseException {
+public final class MCLParseException extends java.text.ParseException {
 	public MCLParseException(String e) {
 		super(e, -1);
 	}