diff --git a/ebean-api/src/main/java/io/ebean/DatabaseFactory.java b/ebean-api/src/main/java/io/ebean/DatabaseFactory.java
index 588f48c24..9696954f7 100644
--- a/ebean-api/src/main/java/io/ebean/DatabaseFactory.java
+++ b/ebean-api/src/main/java/io/ebean/DatabaseFactory.java
@@ -26,7 +26,7 @@ import java.util.concurrent.locks.ReentrantLock;
* methods on the DB singleton such as {@link DB#find(Class)} are just a
* convenient way of using the 'default/primary' Database.
*/
-public class DatabaseFactory {
+public final class DatabaseFactory {
private static final ReentrantLock lock = new ReentrantLock();
private static SpiContainer container;
diff --git a/ebean-api/src/main/java/io/ebean/DbPrimary.java b/ebean-api/src/main/java/io/ebean/DbPrimary.java
index ffec8b114..156038f8e 100644
--- a/ebean-api/src/main/java/io/ebean/DbPrimary.java
+++ b/ebean-api/src/main/java/io/ebean/DbPrimary.java
@@ -10,7 +10,7 @@ import java.util.concurrent.locks.ReentrantLock;
*
* Intended for internal use as part of bootup, construction, registration of the default database.
*/
-class DbPrimary {
+final class DbPrimary {
private static final ReentrantLock lock = new ReentrantLock();
private static String defaultServerName;
diff --git a/ebean-api/src/main/java/io/ebean/EbeanVersion.java b/ebean-api/src/main/java/io/ebean/EbeanVersion.java
index 6a764d911..c4e63efff 100644
--- a/ebean-api/src/main/java/io/ebean/EbeanVersion.java
+++ b/ebean-api/src/main/java/io/ebean/EbeanVersion.java
@@ -12,7 +12,7 @@ import java.util.Properties;
*
* @author Roland Praml, FOCONIS AG
*/
-public class EbeanVersion {
+public final class EbeanVersion {
private static final Logger log = LoggerFactory.getLogger("io.ebean");
diff --git a/ebean-api/src/main/java/io/ebean/Expr.java b/ebean-api/src/main/java/io/ebean/Expr.java
index 1316f9873..525bc3272 100644
--- a/ebean-api/src/main/java/io/ebean/Expr.java
+++ b/ebean-api/src/main/java/io/ebean/Expr.java
@@ -25,7 +25,7 @@ import java.util.Map;
*
* @see Query#where()
*/
-public class Expr {
+public final class Expr {
private Expr() {
}
diff --git a/ebean-api/src/main/java/io/ebean/FetchConfig.java b/ebean-api/src/main/java/io/ebean/FetchConfig.java
index e2d4fbe35..cfb14a235 100644
--- a/ebean-api/src/main/java/io/ebean/FetchConfig.java
+++ b/ebean-api/src/main/java/io/ebean/FetchConfig.java
@@ -31,7 +31,7 @@ import java.io.Serializable;
* @author mario
* @author rbygrave
*/
-public class FetchConfig implements Serializable {
+public final class FetchConfig implements Serializable {
private static final long serialVersionUID = 1L;
diff --git a/ebean-api/src/main/java/io/ebean/XServiceProvider.java b/ebean-api/src/main/java/io/ebean/XServiceProvider.java
index 7f7ce9cc6..9d362571c 100644
--- a/ebean-api/src/main/java/io/ebean/XServiceProvider.java
+++ b/ebean-api/src/main/java/io/ebean/XServiceProvider.java
@@ -11,7 +11,7 @@ import java.util.ServiceLoader;
/**
* Lookup internal services.
*/
-class XServiceProvider {
+final class XServiceProvider {
private static SpiRawSqlService rawSqlService = initRawSql();
diff --git a/ebean-api/src/main/java/io/ebean/meta/ServerMetricsAsJson.java b/ebean-api/src/main/java/io/ebean/meta/ServerMetricsAsJson.java
index 7e42302c8..b2d43f470 100644
--- a/ebean-api/src/main/java/io/ebean/meta/ServerMetricsAsJson.java
+++ b/ebean-api/src/main/java/io/ebean/meta/ServerMetricsAsJson.java
@@ -19,6 +19,7 @@ public interface ServerMetricsAsJson {
/**
* Set the sort property - see SortMetric
+ *
* @see SortMetric
*/
ServerMetricsAsJson withSort(Comparator sortBy);
@@ -35,9 +36,9 @@ public interface ServerMetricsAsJson {
*/
ServerMetricsAsJson withHeader(boolean withHeader);
- /**
- * Collect and write metrics as JSON to the given buffer.
- */
+ /**
+ * Collect and write metrics as JSON to the given buffer.
+ */
void write(Appendable buffer);
/**
diff --git a/ebean-api/src/main/java/io/ebean/meta/SortMetric.java b/ebean-api/src/main/java/io/ebean/meta/SortMetric.java
index 30104f1ff..5a20ee7c9 100644
--- a/ebean-api/src/main/java/io/ebean/meta/SortMetric.java
+++ b/ebean-api/src/main/java/io/ebean/meta/SortMetric.java
@@ -5,7 +5,7 @@ import java.util.Comparator;
/**
* Comparator for timed metrics sorted by name and then count.
*/
-public class SortMetric {
+public final class SortMetric {
public static final Comparator COUNT_NAME = new CountName();
diff --git a/ebean-api/src/main/java/io/ebean/metric/MetricServiceProvider.java b/ebean-api/src/main/java/io/ebean/metric/MetricServiceProvider.java
index 89603ee56..25ab9716e 100644
--- a/ebean-api/src/main/java/io/ebean/metric/MetricServiceProvider.java
+++ b/ebean-api/src/main/java/io/ebean/metric/MetricServiceProvider.java
@@ -6,7 +6,7 @@ import java.util.ServiceLoader;
/**
* Lookup MetricFactory service.
*/
-class MetricServiceProvider {
+final class MetricServiceProvider {
private static final MetricFactory metricFactory = init();
diff --git a/ebean-api/src/main/java/io/ebean/util/AnnotationUtil.java b/ebean-api/src/main/java/io/ebean/util/AnnotationUtil.java
index 709019158..580a00b9e 100644
--- a/ebean-api/src/main/java/io/ebean/util/AnnotationUtil.java
+++ b/ebean-api/src/main/java/io/ebean/util/AnnotationUtil.java
@@ -10,7 +10,7 @@ import java.util.Set;
/**
* Annotation utility methods to find annotations.
*/
-public class AnnotationUtil {
+public final class AnnotationUtil {
/**
* Determine if the supplied {@link Annotation} is defined in the core JDK {@code java.lang.annotation} package.
diff --git a/ebean-api/src/main/java/io/ebean/util/CamelCaseHelper.java b/ebean-api/src/main/java/io/ebean/util/CamelCaseHelper.java
index c58c78200..f32cddf8b 100644
--- a/ebean-api/src/main/java/io/ebean/util/CamelCaseHelper.java
+++ b/ebean-api/src/main/java/io/ebean/util/CamelCaseHelper.java
@@ -1,6 +1,6 @@
package io.ebean.util;
-public class CamelCaseHelper {
+public final class CamelCaseHelper {
/**
* To underscore from camel case using digits compressed true and force upper case false.
diff --git a/ebean-api/src/main/java/io/ebean/util/IOUtils.java b/ebean-api/src/main/java/io/ebean/util/IOUtils.java
index e4f437e10..2dd54e73a 100644
--- a/ebean-api/src/main/java/io/ebean/util/IOUtils.java
+++ b/ebean-api/src/main/java/io/ebean/util/IOUtils.java
@@ -16,7 +16,7 @@ import java.nio.charset.StandardCharsets;
* Utilities for IO. It uses UTF-8 as encoding when reading/writing and uses
* buffered IO for better performance.
*/
-public class IOUtils {
+public final class IOUtils {
/**
* Read from stream as UTF-8.
diff --git a/ebean-api/src/main/java/io/ebean/util/JdbcClose.java b/ebean-api/src/main/java/io/ebean/util/JdbcClose.java
index e78be2376..a1d04536e 100644
--- a/ebean-api/src/main/java/io/ebean/util/JdbcClose.java
+++ b/ebean-api/src/main/java/io/ebean/util/JdbcClose.java
@@ -11,7 +11,7 @@ import java.sql.Statement;
/**
* Utility for closing raw Jdbc resources.
*/
-public class JdbcClose {
+public final class JdbcClose {
private static final Logger log = LoggerFactory.getLogger("io.ebean");
diff --git a/ebean-api/src/main/java/io/ebean/util/SplitName.java b/ebean-api/src/main/java/io/ebean/util/SplitName.java
index 3e1e9951e..3a6cd4f2f 100644
--- a/ebean-api/src/main/java/io/ebean/util/SplitName.java
+++ b/ebean-api/src/main/java/io/ebean/util/SplitName.java
@@ -3,7 +3,7 @@ package io.ebean.util;
/**
* Helper for dot notation property paths.
*/
-public class SplitName {
+public final class SplitName {
private static final char PERIOD = '.';
diff --git a/ebean-api/src/main/java/io/ebean/util/StringHelper.java b/ebean-api/src/main/java/io/ebean/util/StringHelper.java
index b35deb36e..4268288f6 100644
--- a/ebean-api/src/main/java/io/ebean/util/StringHelper.java
+++ b/ebean-api/src/main/java/io/ebean/util/StringHelper.java
@@ -7,7 +7,7 @@ import java.util.regex.Pattern;
/**
* Utility String class that supports String manipulation functions.
*/
-public class StringHelper {
+public final class StringHelper {
private static final Pattern SPLIT_NAMES = Pattern.compile("[\\s,;]+");