Replace enum singletons with final classes, as requested by Gary Gregory.
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutDefaults.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutDefaults.java
index 4f417ee..5cf1e97 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutDefaults.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutDefaults.java
@@ -25,7 +25,9 @@
import java.util.Locale;
import java.util.TimeZone;
-public enum JsonTemplateLayoutDefaults {;
+public final class JsonTemplateLayoutDefaults {
+
+ private JsonTemplateLayoutDefaults() {}
private static final PropertiesUtil PROPERTIES = PropertiesUtil.getProperties();
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/EventResolverFactories.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/EventResolverFactories.java
index b4b4f49..0bfcd76 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/EventResolverFactories.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/EventResolverFactories.java
@@ -24,7 +24,9 @@
import java.util.List;
import java.util.Map;
-enum EventResolverFactories {;
+final class EventResolverFactories {
+
+ private EventResolverFactories() {}
private static final Map<String, TemplateResolverFactory<LogEvent, EventResolverContext, ? extends TemplateResolver<LogEvent>>> RESOLVER_FACTORY_BY_NAME =
createResolverFactoryByName();
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/StackTraceElementObjectResolverFactories.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/StackTraceElementObjectResolverFactories.java
index ff1170c..cf76012 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/StackTraceElementObjectResolverFactories.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/StackTraceElementObjectResolverFactories.java
@@ -20,7 +20,9 @@
import java.util.LinkedHashMap;
import java.util.Map;
-enum StackTraceElementObjectResolverFactories {;
+final class StackTraceElementObjectResolverFactories {
+
+ private StackTraceElementObjectResolverFactories() {}
private static final Map<String, TemplateResolverFactory<StackTraceElement, StackTraceElementObjectResolverContext, ? extends TemplateResolver<StackTraceElement>>> RESOLVER_FACTORY_BY_NAME =
createResolverFactoryByName();
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/TemplateResolvers.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/TemplateResolvers.java
index 3ffa87a..ab4dfa4 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/TemplateResolvers.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/TemplateResolvers.java
@@ -26,7 +26,9 @@
import java.util.Map;
import java.util.stream.Collectors;
-public enum TemplateResolvers {;
+public final class TemplateResolvers {
+
+ private TemplateResolvers() {}
private static final String RESOLVER_FIELD_NAME = "$resolver";
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java
index 21c9644..531259b 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java
@@ -32,7 +32,9 @@
import java.util.concurrent.ArrayBlockingQueue;
import java.util.function.Supplier;
-public enum RecyclerFactories {;
+public final class RecyclerFactories {
+
+ private RecyclerFactories() {}
private static final String JCTOOLS_QUEUE_CLASS_SUPPLIER_PATH =
"org.jctools.queues.MpmcArrayQueue.new";
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java
index 2952d06..041f2e3 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java
@@ -25,9 +25,13 @@
import java.util.Set;
import java.util.concurrent.Callable;
-public enum StringParameterParser {;
+public final class StringParameterParser {
- public enum Values {;
+ private StringParameterParser() {}
+
+ public static final class Values {
+
+ private Values() {}
static NullValue nullValue() {
return NullValue.INSTANCE;
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java
index 5df1791..c783350 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java
@@ -34,7 +34,9 @@
import java.util.List;
import java.util.Objects;
-public enum Uris {;
+public final class Uris {
+
+ private Uris() {}
private static final Logger LOGGER = StatusLogger.getLogger();
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JacksonFixture.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JacksonFixture.java
index bd9e76f..aaf5c4f 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JacksonFixture.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JacksonFixture.java
@@ -18,7 +18,9 @@
import com.fasterxml.jackson.databind.ObjectMapper;
-public enum JacksonFixture {;
+public final class JacksonFixture {
+
+ private JacksonFixture() {}
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java
index e0be875..1c343c5 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java
@@ -22,7 +22,9 @@
import java.util.Map;
-enum LayoutComparisonHelpers {;
+final class LayoutComparisonHelpers {
+
+ private LayoutComparisonHelpers() {}
@SuppressWarnings("unchecked")
static Map<String, Object> renderUsing(
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogEventFixture.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogEventFixture.java
index 408a34d..c2fd5c5 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogEventFixture.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogEventFixture.java
@@ -30,7 +30,9 @@
import java.util.ArrayList;
import java.util.List;
-enum LogEventFixture {;
+final class LogEventFixture {
+
+ private LogEventFixture() {}
private static final int TIME_OVERLAPPING_CONSECUTIVE_EVENT_COUNT = 10;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java
index 62c2222..7dc201e 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java
@@ -142,7 +142,9 @@
/**
* Constants hardcoded in docker-maven-plugin configuration, do not change!
*/
- private enum MavenHardcodedConstants {;
+ private static final class MavenHardcodedConstants {
+
+ private MavenHardcodedConstants() {}
private static final int LS_GELF_INPUT_PORT = 12222;