svn commit: r1936836 - in db/torque/trunk: torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet torque-generator/src/main/java/org/apache/torque/generator/control torque-generator/src/main/java/org/apache/torque/generator/sou...

[email protected] Mon, 03 Aug 2026 14:45:27 -0000
Newsgroups gmane.comp.jakarta.turbine.torque.devel
Message-ID <178576832741.1885207.7209752799873886023@svn03-he-fi>
Author: tv
Date: Mon Aug  3 14:45:27 2026
New Revision: 1936836

Log:
Use Map.of(), Set.of() and List.of()

Modified:
   db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/GroovyOutletSaxHandlerFactory.java
   db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/VelocityOutletSaxHandlerFactory.java
   db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java
   db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/SourceToXml.java
   db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/transform/model/PropertyAccess.java
   db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AdapterFactory.java
   db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnTransformer.java
   db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/typemapping/TypeMap.java

Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/GroovyOutletSaxHandlerFactory.java
==============================================================================
--- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/GroovyOutletSaxHandlerFactory.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/GroovyOutletSaxHandlerFactory.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -19,9 +19,7 @@ package org.apache.torque.generator.conf
  * under the License.
  */
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.torque.generator.configuration.ConfigurationException;
@@ -49,15 +47,7 @@ implements TypedOutletSaxHandlerFactory
      * The list of filename extensions which are automatically linked
      * with this Factory.
      */
-    private static final List<String> TEMPLATE_FILENAMES_EXTENSIONS;
-
-    static
-    {
-        List<String> templateFilenameExtensions = new ArrayList<>();
-        templateFilenameExtensions.add(".groovy");
-        TEMPLATE_FILENAMES_EXTENSIONS = Collections.unmodifiableList(
-                templateFilenameExtensions);
-    }
+    private static final List<String> TEMPLATE_FILENAMES_EXTENSIONS = List.of(".groovy");
 
     /**
      * Returns the outlet type which can be handled by the

Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/VelocityOutletSaxHandlerFactory.java
==============================================================================
--- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/VelocityOutletSaxHandlerFactory.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/VelocityOutletSaxHandlerFactory.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -19,9 +19,7 @@ package org.apache.torque.generator.conf
  * under the License.
  */
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.torque.generator.configuration.ConfigurationException;
@@ -49,15 +47,7 @@ implements TypedOutletSaxHandlerFactory
      * The list of filename extensions which are automatically linked
      * with this Factory.
      */
-    private static final List<String> TEMPLATE_FILENAMES_EXTENSIONS;
-
-    static
-    {
-        List<String> templateFilenameExtensions = new ArrayList<>();
-        templateFilenameExtensions.add(".vm");
-        TEMPLATE_FILENAMES_EXTENSIONS = Collections.unmodifiableList(
-                templateFilenameExtensions);
-    }
+    private static final List<String> TEMPLATE_FILENAMES_EXTENSIONS = List.of(".vm");
 
     /**
      * Returns the outlet type which can be handled by the

Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java
==============================================================================
--- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -22,9 +22,7 @@ package org.apache.torque.generator.cont
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
-import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -85,20 +83,11 @@ public class Controller
      * All known ExistingTargetStrategies.
      * TODO: move to a better place.
      */
-    private static final List<ExistingTargetStrategy>
-    EXISTING_TARGET_STRATEGIES;
-
-    static
-    {
-        final List<ExistingTargetStrategy> existingTargetStrategies
-            = new ArrayList<>();
-        existingTargetStrategies.add(new ReplaceTargetFileStrategy());
-        existingTargetStrategies.add(new SkipExistingTargetFileStrategy());
-        existingTargetStrategies.add(new MergeTargetFileStrategy());
-        existingTargetStrategies.add(new AppendToTargetFileStrategy());
-        EXISTING_TARGET_STRATEGIES = Collections.unmodifiableList(
-                existingTargetStrategies);
-    }
+    private static final List<ExistingTargetStrategy> EXISTING_TARGET_STRATEGIES = List.of(
+            new ReplaceTargetFileStrategy(),
+            new SkipExistingTargetFileStrategy(),
+            new MergeTargetFileStrategy(),
+            new AppendToTargetFileStrategy());
 
     /**
      * Caches the result whether the source was modified since last generation

Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/SourceToXml.java
==============================================================================
--- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/SourceToXml.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/SourceToXml.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -1,25 +1,5 @@
 package org.apache.torque.generator.source.stream;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
@@ -56,17 +36,13 @@ public class SourceToXml
      * The map with XML special characters as key and their replacement
      * as value.
      */
-    private static final Map<Character, String> ESCAPE_MAP;
-    static
-    {
-        Map<Character, String> escapeMap = new HashMap<>();
-        escapeMap.put('&', "&amp;");
-        escapeMap.put('>', "&gt;");
-        escapeMap.put('<', "&lt;");
-        escapeMap.put('"', "&quot;");
-        escapeMap.put('\'', "&apo;");
-        ESCAPE_MAP = Collections.unmodifiableMap(escapeMap);
-    }
+    private static final Map<Character, String> ESCAPE_MAP = Map.of(
+        '&', "&amp;",
+        '>', "&gt;",
+        '<', "&lt;",
+        '"', "&quot;",
+        '\'', "&apo;"
+        );
 
     /**
      * Renders a source element and its children as XML.

Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/transform/model/PropertyAccess.java
==============================================================================
--- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/transform/model/PropertyAccess.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/transform/model/PropertyAccess.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -49,13 +49,7 @@ import org.apache.torque.generator.sourc
 public class PropertyAccess
 {
     /** The automatic converters used for properties. */
-    private static List<TypeConverter> converters;
-
-    static
-    {
-        converters = new ArrayList<>();
-        converters.add(new StringToBooleanConverter());
-    }
+    private static final List<TypeConverter> converters = List.of(new StringToBooleanConverter());
 
     /** The object on which the property should be accessed, not null. */
     private final Object target;

Modified: db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AdapterFactory.java
==============================================================================
--- db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AdapterFactory.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AdapterFactory.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -1,7 +1,5 @@
 package org.apache.torque.adapter;
 
-import java.lang.reflect.InvocationTargetException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -21,14 +19,15 @@ import java.lang.reflect.InvocationTarge
  * under the License.
  */
 
+import java.lang.reflect.InvocationTargetException;
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.SQLException;
-import java.util.HashMap;
+import java.util.AbstractMap.SimpleEntry;
 import java.util.Map;
 
-import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * This class creates different {@link org.apache.torque.adapter.Adapter}
@@ -50,49 +49,38 @@ public final class AdapterFactory
     /**
      * JDBC driver to Torque Adapter map.
      */
-    private static Map<String, Class<? extends Adapter>> adapters
-        = new HashMap<>();
-
-    /**
-     * Initialize the JDBC driver to Torque Adapter map.
-     */
-    static
-    {
-        adapters.put("org.hsql.jdbcDriver", HsqldbAdapter.class);
-        adapters.put("org.hsqldb.jdbcDriver", HsqldbAdapter.class);
-        adapters.put("com.microsoft.jdbc.sqlserver.SQLServerDriver",
-                MssqlAdapter.class);
-        adapters.put("com.jnetdirect.jsql.JSQLDriver", MssqlAdapter.class);
-        adapters.put("org.gjt.mm.mysql.Driver", MysqlAdapter.class);
-        adapters.put("com.mysql.cj.jdbc.Driver", MysqlAdapter.class);
-        adapters.put("org.mariadb.jdbc.Driver", MysqlAdapter.class);
-        adapters.put("oracle.jdbc.driver.OracleDriver", OracleAdapter.class);
-        adapters.put("org.postgresql.Driver", PostgresAdapter.class);
-
-        adapters.put("org.apache.derby.jdbc.EmbeddedDriver", DerbyAdapter.class);
-
+    private static final Map<String, Class<? extends Adapter>> adapters = Map.ofEntries(
+        new SimpleEntry<>("org.hsql.jdbcDriver", HsqldbAdapter.class),
+        new SimpleEntry<>("org.hsqldb.jdbcDriver", HsqldbAdapter.class),
+        new SimpleEntry<>("com.microsoft.jdbc.sqlserver.SQLServerDriver", MssqlAdapter.class),
+        new SimpleEntry<>("com.jnetdirect.jsql.JSQLDriver", MssqlAdapter.class),
+        new SimpleEntry<>("org.gjt.mm.mysql.Driver", MysqlAdapter.class),
+        new SimpleEntry<>("com.mysql.cj.jdbc.Driver", MysqlAdapter.class),
+        new SimpleEntry<>("org.mariadb.jdbc.Driver", MysqlAdapter.class),
+        new SimpleEntry<>("oracle.jdbc.driver.OracleDriver", OracleAdapter.class),
+        new SimpleEntry<>("org.postgresql.Driver", PostgresAdapter.class),
+        new SimpleEntry<>("org.apache.derby.jdbc.EmbeddedDriver", DerbyAdapter.class),
 
         // add some short names to be used when drivers are not used
-        adapters.put("hsqldb", HsqldbAdapter.class);
-        adapters.put("mssql", MssqlAdapter.class);
-        adapters.put("mysql", MysqlAdapter.class);
-        adapters.put("mariadb", MysqlAdapter.class);
-        adapters.put("oracle", OracleAdapter.class);
-        adapters.put("postgresql", PostgresAdapter.class);
-        adapters.put("derby", DerbyAdapter.class);
+        new SimpleEntry<>("hsqldb", HsqldbAdapter.class),
+        new SimpleEntry<>("mssql", MssqlAdapter.class),
+        new SimpleEntry<>("mysql", MysqlAdapter.class),
+        new SimpleEntry<>("mariadb", MysqlAdapter.class),
+        new SimpleEntry<>("oracle", OracleAdapter.class),
+        new SimpleEntry<>("postgresql", PostgresAdapter.class),
+        new SimpleEntry<>("derby", DerbyAdapter.class),
 
         // add database product names to be used for auto-detection
-        adapters.put("HSQL Database Engine", HsqldbAdapter.class);
-        adapters.put("Microsoft SQL Server Database", MssqlAdapter.class);
-        adapters.put("Microsoft SQL Server", MssqlAdapter.class);
-        adapters.put("MySQL", MysqlAdapter.class);
-        adapters.put("Oracle", OracleAdapter.class);
-        adapters.put("PostgreSQL", PostgresAdapter.class);
-        adapters.put("Apache Derby", DerbyAdapter.class);
-        adapters.put("MariaDB", MysqlAdapter.class);
+        new SimpleEntry<>("HSQL Database Engine", HsqldbAdapter.class),
+        new SimpleEntry<>("Microsoft SQL Server Database", MssqlAdapter.class),
+        new SimpleEntry<>("Microsoft SQL Server", MssqlAdapter.class),
+        new SimpleEntry<>("MySQL", MysqlAdapter.class),
+        new SimpleEntry<>("Oracle", OracleAdapter.class),
+        new SimpleEntry<>("PostgreSQL", PostgresAdapter.class),
+        new SimpleEntry<>("Apache Derby", DerbyAdapter.class),
+        new SimpleEntry<>("MariaDB", MysqlAdapter.class),
 
-        adapters.put("", NoneAdapter.class);
-    }
+        new SimpleEntry<>("", NoneAdapter.class));
 
     /**
      * Private constructor to prevent instantiation.

Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnTransformer.java
==============================================================================
--- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnTransformer.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnTransformer.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -19,8 +19,6 @@ package org.apache.torque.templates.tran
  * under the License.
  */
 
-import java.util.Collections;
-import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.commons.lang3.StringUtils;
@@ -51,7 +49,10 @@ public class OMColumnTransformer
         = new OMInheritanceTransformer();
 
     /** Names which cannot be used as constants for column names. */
-    private static final Set<String> RESERVED_CONSTANT_NAMES;
+    private static final Set<String> RESERVED_CONSTANT_NAMES = Set.of(
+            "DATABASE",
+            "TABLE_NAME",
+            "TABLE");
 
     /** Prevents reserved java words. */
     private static WrapReservedJavaWords reservedJavaWordsWrapper
@@ -59,16 +60,6 @@ public class OMColumnTransformer
 
     protected OMColumnJavaTransformer javaTransformer = new OMColumnJavaTransformer();
 
-    static
-    {
-        Set<String> reservedConstantNames = new HashSet<>();
-        reservedConstantNames.add("DATABASE");
-        reservedConstantNames.add("TABLE_NAME");
-        reservedConstantNames.add("TABLE");
-        RESERVED_CONSTANT_NAMES
-        = Collections.unmodifiableSet(reservedConstantNames);
-    }
-
     /**
      * @param columnElement column to transform
      * @param controllerState the controller state object

Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/typemapping/TypeMap.java
==============================================================================
--- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/typemapping/TypeMap.java	Mon Aug  3 14:39:34 2026	(r1936835)
+++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/typemapping/TypeMap.java	Mon Aug  3 14:45:27 2026	(r1936836)
@@ -19,9 +19,7 @@ package org.apache.torque.templates.type
  * under the License.
  */
 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
+import java.util.AbstractMap.SimpleEntry;
 import java.util.Map;
 import java.util.Set;
 
@@ -74,23 +72,17 @@ public final class TypeMap
     /**
      * All text types.
      */
-    private static final Set<SchemaType> TEXT_TYPES;
-
-    static
-    {
-        Set<SchemaType> textTypes = new HashSet<>();
-        textTypes.add(SchemaType.CHAR);
-        textTypes.add(SchemaType.VARCHAR);
-        textTypes.add(SchemaType.LONGVARCHAR);
-        textTypes.add(SchemaType.CLOB);
-        textTypes.add(SchemaType.DATE);
-        textTypes.add(SchemaType.TIME);
-        textTypes.add(SchemaType.TIMESTAMP);
-        textTypes.add(SchemaType.TIMESTAMP_WITH_TIMEZONE);
-        textTypes.add(SchemaType.TIME_WITH_TIMEZONE);
-        textTypes.add(SchemaType.BOOLEANCHAR);
-        TEXT_TYPES = Collections.unmodifiableSet(textTypes);
-    }
+    private static final Set<SchemaType> TEXT_TYPES = Set.of(
+        SchemaType.CHAR,
+        SchemaType.VARCHAR,
+        SchemaType.LONGVARCHAR,
+        SchemaType.CLOB,
+        SchemaType.DATE,
+        SchemaType.TIME,
+        SchemaType.TIMESTAMP,
+        SchemaType.TIMESTAMP_WITH_TIMEZONE,
+        SchemaType.TIME_WITH_TIMEZONE,
+        SchemaType.BOOLEANCHAR);
 
     /** A sample java object for CHAR columns. */
     public static final String CHAR_OBJECT_TYPE = "\"\"";
@@ -149,165 +141,125 @@ public final class TypeMap
      * The mapping from schema type to the default initialisation value
      * for that schema type.
      */
-    private static final Map<SchemaType, String>
-    SCHEMA_TYPE_TO_INIT_VALUE_MAP;
+    private static final Map<SchemaType, String> SCHEMA_TYPE_TO_INIT_VALUE_MAP = Map.ofEntries(
+        new SimpleEntry<>(SchemaType.CHAR, CHAR_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.VARCHAR, VARCHAR_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.LONGVARCHAR, LONGVARCHAR_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.CLOB, CLOB_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.NUMERIC, NUMERIC_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.DECIMAL, DECIMAL_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.BIT, BIT_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.TINYINT, TINYINT_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.SMALLINT, SMALLINT_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.INTEGER, INTEGER_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.BIGINT, BIGINT_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.REAL, REAL_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.FLOAT, FLOAT_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.DOUBLE, DOUBLE_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.BINARY, BINARY_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.VARBINARY, VARBINARY_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.LONGVARBINARY, LONGVARBINARY_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.BLOB, BLOB_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.DATE, DATE_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.TIME, TIME_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.TIMESTAMP, TIMESTAMP_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.TIMESTAMP_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.TIME_WITH_TIMEZONE, TIME_WITH_TIMEZONE_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.BOOLEANCHAR, BOOLEANCHAR_OBJECT_TYPE),
+        new SimpleEntry<>(SchemaType.BOOLEANINT, BOOLEANINT_OBJECT_TYPE));
+
 
     /**
      * The default Mapping of schema Types to Java Types. Where possible,
      * primitive types are used.
      */
-    private static final Map<SchemaType, JavaType>
-    SCHEMA_TYPE_TO_JAVA_PRIMITIVE_TYPE_MAP;
+    private static final Map<SchemaType, JavaType> SCHEMA_TYPE_TO_JAVA_PRIMITIVE_TYPE_MAP = Map.ofEntries(
+        new SimpleEntry<>(SchemaType.CHAR, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.VARCHAR, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.LONGVARCHAR, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.CLOB, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.NUMERIC, JavaType.BIG_DECIMAL),
+        new SimpleEntry<>(SchemaType.DECIMAL, JavaType.BIG_DECIMAL),
+        new SimpleEntry<>(SchemaType.BIT, JavaType.BOOLEAN_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.TINYINT, JavaType.BYTE_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.SMALLINT, JavaType.SHORT_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.INTEGER, JavaType.INTEGER_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.BIGINT, JavaType.LONG_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.REAL, JavaType.FLOAT_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.FLOAT, JavaType.DOUBLE_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.DOUBLE, JavaType.DOUBLE_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.BINARY, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.VARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.LONGVARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.BLOB, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.DATE, JavaType.LOCAL_DATE),
+        new SimpleEntry<>(SchemaType.TIME, JavaType.LOCAL_TIME),
+        new SimpleEntry<>(SchemaType.TIMESTAMP, JavaType.LOCAL_DATE_TIME),
+        new SimpleEntry<>(SchemaType.TIMESTAMP_WITH_TIMEZONE, JavaType.OFFSET_DATE_TIME),
+        new SimpleEntry<>(SchemaType.TIME_WITH_TIMEZONE, JavaType.OFFSET_TIME),
+        new SimpleEntry<>(SchemaType.BOOLEANCHAR, JavaType.BOOLEAN_PRIMITIVE),
+        new SimpleEntry<>(SchemaType.BOOLEANINT, JavaType.BOOLEAN_PRIMITIVE));
+
     /**
      * The default Mapping of schema Types to Java Types.
      * No primitive types are used.
      */
-    private static final Map<SchemaType, JavaType>
-    SCHEMA_TYPE_TO_JAVA_OBJECT_TYPE_MAP;
-
+    private static final Map<SchemaType, JavaType> SCHEMA_TYPE_TO_JAVA_OBJECT_TYPE_MAP = Map.ofEntries(
+        new SimpleEntry<>(SchemaType.CHAR, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.VARCHAR, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.LONGVARCHAR, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.CLOB, JavaType.STRING),
+        new SimpleEntry<>(SchemaType.NUMERIC, JavaType.BIG_DECIMAL),
+        new SimpleEntry<>(SchemaType.DECIMAL, JavaType.BIG_DECIMAL),
+        new SimpleEntry<>(SchemaType.BIT, JavaType.BOOLEAN_OBJECT),
+        new SimpleEntry<>(SchemaType.TINYINT, JavaType.BYTE_OBJECT),
+        new SimpleEntry<>(SchemaType.SMALLINT, JavaType.SHORT_OBJECT),
+        new SimpleEntry<>(SchemaType.INTEGER, JavaType.INTEGER_OBJECT),
+        new SimpleEntry<>(SchemaType.BIGINT, JavaType.LONG_OBJECT),
+        new SimpleEntry<>(SchemaType.REAL, JavaType.FLOAT_OBJECT),
+        new SimpleEntry<>(SchemaType.FLOAT, JavaType.DOUBLE_OBJECT),
+        new SimpleEntry<>(SchemaType.DOUBLE, JavaType.DOUBLE_OBJECT),
+        new SimpleEntry<>(SchemaType.BINARY, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.VARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.LONGVARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.BLOB, JavaType.BYTE_PRIMITIVE_ARRAY),
+        new SimpleEntry<>(SchemaType.DATE, JavaType.LOCAL_DATE),
+        new SimpleEntry<>(SchemaType.TIME, JavaType.LOCAL_TIME),
+        new SimpleEntry<>(SchemaType.TIMESTAMP, JavaType.LOCAL_DATE_TIME),
+        new SimpleEntry<>(SchemaType.TIMESTAMP_WITH_TIMEZONE, JavaType.OFFSET_DATE_TIME),
+        new SimpleEntry<>(SchemaType.TIME_WITH_TIMEZONE, JavaType.OFFSET_TIME),
+        new SimpleEntry<>(SchemaType.BOOLEANCHAR, JavaType.BOOLEAN_OBJECT),
+        new SimpleEntry<>(SchemaType.BOOLEANINT, JavaType.BOOLEAN_OBJECT));
 
     /**
      * The result set getter methods for a given schema type.
      */
-    private static final Map<SchemaType, ResultSetGetter>
-    SCHEMA_TYPE_TO_RESULT_SET_GETTER;
-
-    // fill SCHEMA_TYPE_TO_INIT_VALUE_MAP
-    static {
-        Map<SchemaType, String> schemaToInitValue
-            = new HashMap<>();
-
-        schemaToInitValue.put(SchemaType.CHAR, CHAR_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.VARCHAR, VARCHAR_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.LONGVARCHAR, LONGVARCHAR_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.CLOB, CLOB_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.NUMERIC, NUMERIC_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.DECIMAL, DECIMAL_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.BIT, BIT_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.TINYINT, TINYINT_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.SMALLINT, SMALLINT_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.INTEGER, INTEGER_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.BIGINT, BIGINT_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.REAL, REAL_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.FLOAT, FLOAT_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.DOUBLE, DOUBLE_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.BINARY, BINARY_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.VARBINARY, VARBINARY_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.LONGVARBINARY, LONGVARBINARY_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.BLOB, BLOB_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.DATE, DATE_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.TIME, TIME_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.TIMESTAMP, TIMESTAMP_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.TIMESTAMP_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.TIME_WITH_TIMEZONE, TIME_WITH_TIMEZONE_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.BOOLEANCHAR, BOOLEANCHAR_OBJECT_TYPE);
-        schemaToInitValue.put(SchemaType.BOOLEANINT, BOOLEANINT_OBJECT_TYPE);
-        SCHEMA_TYPE_TO_INIT_VALUE_MAP
-        = Collections.unmodifiableMap(schemaToInitValue);
-    }
-
-    // Fill SCHEMA_TYPE_TO_JAVA_PRIMITIVE_TYPE_MAP
-    static
-    {
-        Map<SchemaType, JavaType> schemaToJava
-            = new HashMap<>();
-        schemaToJava.put(SchemaType.CHAR, JavaType.STRING);
-        schemaToJava.put(SchemaType.VARCHAR, JavaType.STRING);
-        schemaToJava.put(SchemaType.LONGVARCHAR, JavaType.STRING);
-        schemaToJava.put(SchemaType.CLOB, JavaType.STRING);
-        schemaToJava.put(SchemaType.NUMERIC, JavaType.BIG_DECIMAL);
-        schemaToJava.put(SchemaType.DECIMAL, JavaType.BIG_DECIMAL);
-        schemaToJava.put(SchemaType.BIT, JavaType.BOOLEAN_PRIMITIVE);
-        schemaToJava.put(SchemaType.TINYINT, JavaType.BYTE_PRIMITIVE);
-        schemaToJava.put(SchemaType.SMALLINT, JavaType.SHORT_PRIMITIVE);
-        schemaToJava.put(SchemaType.INTEGER, JavaType.INTEGER_PRIMITIVE);
-        schemaToJava.put(SchemaType.BIGINT, JavaType.LONG_PRIMITIVE);
-        schemaToJava.put(SchemaType.REAL, JavaType.FLOAT_PRIMITIVE);
-        schemaToJava.put(SchemaType.FLOAT, JavaType.DOUBLE_PRIMITIVE);
-        schemaToJava.put(SchemaType.DOUBLE, JavaType.DOUBLE_PRIMITIVE);
-        schemaToJava.put(SchemaType.BINARY, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.VARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.LONGVARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.BLOB, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.DATE, JavaType.LOCAL_DATE);
-        schemaToJava.put(SchemaType.TIME, JavaType.LOCAL_TIME);
-        schemaToJava.put(SchemaType.TIMESTAMP, JavaType.LOCAL_DATE_TIME);
-        schemaToJava.put(SchemaType.TIMESTAMP_WITH_TIMEZONE, JavaType.OFFSET_DATE_TIME);
-        schemaToJava.put(SchemaType.TIME_WITH_TIMEZONE, JavaType.OFFSET_TIME);
-        schemaToJava.put(SchemaType.BOOLEANCHAR, JavaType.BOOLEAN_PRIMITIVE);
-        schemaToJava.put(SchemaType.BOOLEANINT, JavaType.BOOLEAN_PRIMITIVE);
-        SCHEMA_TYPE_TO_JAVA_PRIMITIVE_TYPE_MAP
-        = Collections.unmodifiableMap(schemaToJava);
-    }
-
-
-    // Fill SCHEMA_TYPE_TO_JAVA_OBJECT_TYPE_MAP
-    static
-    {
-        Map<SchemaType, JavaType> schemaToJava
-            = new HashMap<>();
-        schemaToJava.put(SchemaType.CHAR, JavaType.STRING);
-        schemaToJava.put(SchemaType.VARCHAR, JavaType.STRING);
-        schemaToJava.put(SchemaType.LONGVARCHAR, JavaType.STRING);
-        schemaToJava.put(SchemaType.CLOB, JavaType.STRING);
-        schemaToJava.put(SchemaType.NUMERIC, JavaType.BIG_DECIMAL);
-        schemaToJava.put(SchemaType.DECIMAL, JavaType.BIG_DECIMAL);
-        schemaToJava.put(SchemaType.BIT, JavaType.BOOLEAN_OBJECT);
-        schemaToJava.put(SchemaType.TINYINT, JavaType.BYTE_OBJECT);
-        schemaToJava.put(SchemaType.SMALLINT, JavaType.SHORT_OBJECT);
-        schemaToJava.put(SchemaType.INTEGER, JavaType.INTEGER_OBJECT);
-        schemaToJava.put(SchemaType.BIGINT, JavaType.LONG_OBJECT);
-        schemaToJava.put(SchemaType.REAL, JavaType.FLOAT_OBJECT);
-        schemaToJava.put(SchemaType.FLOAT, JavaType.DOUBLE_OBJECT);
-        schemaToJava.put(SchemaType.DOUBLE, JavaType.DOUBLE_OBJECT);
-        schemaToJava.put(SchemaType.BINARY, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.VARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.LONGVARBINARY, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.BLOB, JavaType.BYTE_PRIMITIVE_ARRAY);
-        schemaToJava.put(SchemaType.DATE, JavaType.LOCAL_DATE);
-        schemaToJava.put(SchemaType.TIME, JavaType.LOCAL_TIME);
-        schemaToJava.put(SchemaType.TIMESTAMP, JavaType.LOCAL_DATE_TIME);
-        schemaToJava.put(SchemaType.TIMESTAMP_WITH_TIMEZONE, JavaType.OFFSET_DATE_TIME);
-        schemaToJava.put(SchemaType.TIME_WITH_TIMEZONE, JavaType.OFFSET_TIME);
-        schemaToJava.put(SchemaType.BOOLEANCHAR, JavaType.BOOLEAN_OBJECT);
-        schemaToJava.put(SchemaType.BOOLEANINT, JavaType.BOOLEAN_OBJECT);
-        SCHEMA_TYPE_TO_JAVA_OBJECT_TYPE_MAP
-        = Collections.unmodifiableMap(schemaToJava);
-    }
-
-    static
-    {
-        Map<SchemaType, ResultSetGetter> schemaToResultSetGetter
-            = new HashMap<>();
-
-        schemaToResultSetGetter.put(SchemaType.CHAR, ResultSetGetter.STRING);
-        schemaToResultSetGetter.put(SchemaType.VARCHAR, ResultSetGetter.STRING);
-        schemaToResultSetGetter.put(SchemaType.LONGVARCHAR, ResultSetGetter.STRING);
-        schemaToResultSetGetter.put(SchemaType.CLOB, ResultSetGetter.STRING);
-        schemaToResultSetGetter.put(SchemaType.NUMERIC, ResultSetGetter.BIG_DECIMAL);
-        schemaToResultSetGetter.put(SchemaType.DECIMAL, ResultSetGetter.BIG_DECIMAL);
-        schemaToResultSetGetter.put(SchemaType.BIT, ResultSetGetter.BOOLEAN);
-        schemaToResultSetGetter.put(SchemaType.TINYINT, ResultSetGetter.BYTE);
-        schemaToResultSetGetter.put(SchemaType.SMALLINT, ResultSetGetter.SHORT);
-        schemaToResultSetGetter.put(SchemaType.INTEGER, ResultSetGetter.INT);
-        schemaToResultSetGetter.put(SchemaType.BIGINT, ResultSetGetter.LONG);
-        schemaToResultSetGetter.put(SchemaType.REAL, ResultSetGetter.FLOAT);
-        schemaToResultSetGetter.put(SchemaType.FLOAT, ResultSetGetter.DOUBLE);
-        schemaToResultSetGetter.put(SchemaType.DOUBLE, ResultSetGetter.DOUBLE);
-        schemaToResultSetGetter.put(SchemaType.BINARY, ResultSetGetter.BYTES);
-        schemaToResultSetGetter.put(SchemaType.VARBINARY, ResultSetGetter.BYTES);
-        schemaToResultSetGetter.put(SchemaType.LONGVARBINARY, ResultSetGetter.BYTES);
-        schemaToResultSetGetter.put(SchemaType.BLOB, ResultSetGetter.BYTES);
-        schemaToResultSetGetter.put(SchemaType.DATE, ResultSetGetter.DATE);
-        schemaToResultSetGetter.put(SchemaType.TIME, ResultSetGetter.TIME);
-        schemaToResultSetGetter.put(SchemaType.TIMESTAMP, ResultSetGetter.TIMESTAMP);
-        schemaToResultSetGetter.put(SchemaType.TIMESTAMP_WITH_TIMEZONE, ResultSetGetter.TIMESTAMP_WITH_TIMEZONE);
-        schemaToResultSetGetter.put(SchemaType.TIME_WITH_TIMEZONE, ResultSetGetter.TIME_WITH_TIMEZONE);
-        schemaToResultSetGetter.put(SchemaType.BOOLEANCHAR, ResultSetGetter.STRING);
-        schemaToResultSetGetter.put(SchemaType.BOOLEANINT, ResultSetGetter.INT);
-        SCHEMA_TYPE_TO_RESULT_SET_GETTER
-        = Collections.unmodifiableMap(schemaToResultSetGetter);
-    }
+    private static final Map<SchemaType, ResultSetGetter> SCHEMA_TYPE_TO_RESULT_SET_GETTER = Map.ofEntries(
+        new SimpleEntry<>(SchemaType.CHAR, ResultSetGetter.STRING),
+        new SimpleEntry<>(SchemaType.VARCHAR, ResultSetGetter.STRING),
+        new SimpleEntry<>(SchemaType.LONGVARCHAR, ResultSetGetter.STRING),
+        new SimpleEntry<>(SchemaType.CLOB, ResultSetGetter.STRING),
+        new SimpleEntry<>(SchemaType.NUMERIC, ResultSetGetter.BIG_DECIMAL),
+        new SimpleEntry<>(SchemaType.DECIMAL, ResultSetGetter.BIG_DECIMAL),
+        new SimpleEntry<>(SchemaType.BIT, ResultSetGetter.BOOLEAN),
+        new SimpleEntry<>(SchemaType.TINYINT, ResultSetGetter.BYTE),
+        new SimpleEntry<>(SchemaType.SMALLINT, ResultSetGetter.SHORT),
+        new SimpleEntry<>(SchemaType.INTEGER, ResultSetGetter.INT),
+        new SimpleEntry<>(SchemaType.BIGINT, ResultSetGetter.LONG),
+        new SimpleEntry<>(SchemaType.REAL, ResultSetGetter.FLOAT),
+        new SimpleEntry<>(SchemaType.FLOAT, ResultSetGetter.DOUBLE),
+        new SimpleEntry<>(SchemaType.DOUBLE, ResultSetGetter.DOUBLE),
+        new SimpleEntry<>(SchemaType.BINARY, ResultSetGetter.BYTES),
+        new SimpleEntry<>(SchemaType.VARBINARY, ResultSetGetter.BYTES),
+        new SimpleEntry<>(SchemaType.LONGVARBINARY, ResultSetGetter.BYTES),
+        new SimpleEntry<>(SchemaType.BLOB, ResultSetGetter.BYTES),
+        new SimpleEntry<>(SchemaType.DATE, ResultSetGetter.DATE),
+        new SimpleEntry<>(SchemaType.TIME, ResultSetGetter.TIME),
+        new SimpleEntry<>(SchemaType.TIMESTAMP, ResultSetGetter.TIMESTAMP),
+        new SimpleEntry<>(SchemaType.TIMESTAMP_WITH_TIMEZONE, ResultSetGetter.TIMESTAMP_WITH_TIMEZONE),
+        new SimpleEntry<>(SchemaType.TIME_WITH_TIMEZONE, ResultSetGetter.TIME_WITH_TIMEZONE),
+        new SimpleEntry<>(SchemaType.BOOLEANCHAR, ResultSetGetter.STRING),
+        new SimpleEntry<>(SchemaType.BOOLEANINT, ResultSetGetter.INT));
 
     /**
      * Private constructor for utility class.