This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git


The following commit(s) were added to refs/heads/master by this push:
     new f9606cb2 Make private static classes final
f9606cb2 is described below

commit f9606cb22f4e99e938ece0a9a75b96bac340e9c8
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Tue Oct 10 16:33:38 2023 -0400

    Make private static classes final
---
 .../apache/commons/configuration2/DynamicCombinedConfiguration.java | 2 +-
 .../java/org/apache/commons/configuration2/INIConfiguration.java    | 2 +-
 .../configuration2/ImmutableConfigurationInvocationHandler.java     | 2 +-
 .../configuration2/builder/BuilderConfigurationWrapperFactory.java  | 2 +-
 .../commons/configuration2/builder/DefaultParametersManager.java    | 2 +-
 .../builder/combined/MultiFileConfigurationBuilderProvider.java     | 2 +-
 .../apache/commons/configuration2/builder/fluent/Parameters.java    | 2 +-
 .../org/apache/commons/configuration2/io/DefaultFileSystem.java     | 2 +-
 .../java/org/apache/commons/configuration2/io/VFSFileSystem.java    | 2 +-
 .../commons/configuration2/plist/PropertyListConfiguration.java     | 6 +++---
 .../commons/configuration2/plist/XMLPropertyListConfiguration.java  | 2 +-
 .../configuration2/reloading/CombinedReloadingController.java       | 2 +-
 .../java/org/apache/commons/configuration2/tree/NodeTracker.java    | 2 +-
 .../configuration2/TestAbstractConfigurationBasicFeatures.java      | 2 +-
 .../configuration2/TestAbstractHierarchicalConfiguration.java       | 2 +-
 .../commons/configuration2/TestBaseConfigurationXMLReader.java      | 2 +-
 .../TestBaseHierarchicalConfigurationSynchronization.java           | 2 +-
 .../apache/commons/configuration2/TestCombinedConfiguration.java    | 6 +++---
 .../org/apache/commons/configuration2/TestConfigurationUtils.java   | 2 +-
 .../commons/configuration2/TestDefaultImmutableConfiguration.java   | 2 +-
 .../commons/configuration2/TestDynamicCombinedConfiguration.java    | 2 +-
 .../org/apache/commons/configuration2/TestINIConfiguration.java     | 2 +-
 .../apache/commons/configuration2/TestPropertiesConfiguration.java  | 4 ++--
 .../org/apache/commons/configuration2/TestXMLConfiguration.java     | 2 +-
 .../commons/configuration2/beanutils/TestXMLBeanDeclaration.java    | 2 +-
 .../configuration2/builder/TestBasicConfigurationBuilder.java       | 4 ++--
 .../configuration2/builder/TestDefaultParametersManager.java        | 2 +-
 .../builder/TestReloadingFileBasedConfigurationBuilder.java         | 2 +-
 .../builder/combined/TestCombinedConfigurationBuilder.java          | 4 ++--
 .../TestReloadingCombinedConfigurationBuilderFileBased.java         | 4 ++--
 .../combined/TestReloadingMultiFileConfigurationBuilder.java        | 2 +-
 .../apache/commons/configuration2/event/TestEventListenerList.java  | 6 +++---
 .../org/apache/commons/configuration2/event/TestEventSource.java    | 2 +-
 .../java/org/apache/commons/configuration2/io/TestFileHandler.java  | 5 ++++-
 .../configuration2/reloading/TestFileHandlerReloadingDetector.java  | 2 +-
 .../commons/configuration2/sync/TestReadWriteSynchronizer.java      | 6 +++---
 .../configuration2/tree/AbstractImmutableNodeHandlerTest.java       | 2 +-
 .../org/apache/commons/configuration2/tree/TestNodeTreeWalker.java  | 2 +-
 .../commons/configuration2/web/TestServletFilterConfiguration.java  | 2 +-
 39 files changed, 54 insertions(+), 51 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java
 
b/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java
index 38ba836e..43dd97dd 100644
--- 
a/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java
+++ 
b/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java
@@ -820,7 +820,7 @@ public class DynamicCombinedConfiguration extends 
CombinedConfiguration {
     /**
      * A simple data class holding information about the current configuration 
while an operation for a thread is processed.
      */
-    private static class CurrentConfigHolder {
+    private static final class CurrentConfigHolder {
         /** Stores the current configuration of the current thread. */
         private CombinedConfiguration currentConfiguration;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/INIConfiguration.java 
b/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
index b834e463..54b88dc6 100644
--- a/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
@@ -897,7 +897,7 @@ public class INIConfiguration extends 
BaseHierarchicalConfiguration implements F
      * This is a regular {@code TrackedNodeModel} with one exception: The 
{@code NodeHandler} used by this model applies a
      * filter on the children of the root node so that only nodes are visible 
that are no sub sections.
      */
-    private static class GlobalSectionNodeModel extends TrackedNodeModel {
+    private static final class GlobalSectionNodeModel extends TrackedNodeModel 
{
         /**
          * Creates a new instance of {@code GlobalSectionNodeModel} and 
initializes it with the given underlying model.
          *
diff --git 
a/src/main/java/org/apache/commons/configuration2/ImmutableConfigurationInvocationHandler.java
 
b/src/main/java/org/apache/commons/configuration2/ImmutableConfigurationInvocationHandler.java
index 61f3f778..a7369e95 100644
--- 
a/src/main/java/org/apache/commons/configuration2/ImmutableConfigurationInvocationHandler.java
+++ 
b/src/main/java/org/apache/commons/configuration2/ImmutableConfigurationInvocationHandler.java
@@ -88,7 +88,7 @@ class ImmutableConfigurationInvocationHandler implements 
InvocationHandler {
      * A specialized {@code Iterator} implementation which delegates to an 
underlying iterator, but does not support the
      * {@code remove()} method.
      */
-    private static class ImmutableIterator implements Iterator<Object> {
+    private static final class ImmutableIterator implements Iterator<Object> {
         /** The underlying iterator. */
         private final Iterator<?> wrappedIterator;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/builder/BuilderConfigurationWrapperFactory.java
 
b/src/main/java/org/apache/commons/configuration2/builder/BuilderConfigurationWrapperFactory.java
index 27d3b862..444673a1 100644
--- 
a/src/main/java/org/apache/commons/configuration2/builder/BuilderConfigurationWrapperFactory.java
+++ 
b/src/main/java/org/apache/commons/configuration2/builder/BuilderConfigurationWrapperFactory.java
@@ -173,7 +173,7 @@ public class BuilderConfigurationWrapperFactory {
      * A specialized {@code InvocationHandler} implementation for wrapper 
configurations. Here the logic of accessing a
      * wrapped builder is implemented.
      */
-    private static class BuilderConfigurationWrapperInvocationHandler 
implements InvocationHandler {
+    private static final class BuilderConfigurationWrapperInvocationHandler 
implements InvocationHandler {
 
         /** The wrapped builder. */
         private final ConfigurationBuilder<? extends ImmutableConfiguration> 
builder;
diff --git 
a/src/main/java/org/apache/commons/configuration2/builder/DefaultParametersManager.java
 
b/src/main/java/org/apache/commons/configuration2/builder/DefaultParametersManager.java
index f9ffe004..1f09202f 100644
--- 
a/src/main/java/org/apache/commons/configuration2/builder/DefaultParametersManager.java
+++ 
b/src/main/java/org/apache/commons/configuration2/builder/DefaultParametersManager.java
@@ -147,7 +147,7 @@ public class DefaultParametersManager {
      * Using this class it is possible to find out which default handlers 
apply for a given parameters object and to invoke
      * them.
      */
-    private static class DefaultHandlerData {
+    private static final class DefaultHandlerData {
         /** The handler object. */
         private final DefaultParametersHandler<?> handler;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilderProvider.java
 
b/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilderProvider.java
index db46b2fb..8120512c 100644
--- 
a/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilderProvider.java
+++ 
b/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilderProvider.java
@@ -156,7 +156,7 @@ public class MultiFileConfigurationBuilderProvider extends 
BaseConfigurationBuil
      * wrapped builder implements {@code ReloadingControllerSupport}. So the 
reloading controller can be obtained from this
      * object.
      */
-    private static class ReloadableWrapperBuilder extends WrapperBuilder 
implements ReloadingControllerSupport {
+    private static final class ReloadableWrapperBuilder extends WrapperBuilder 
implements ReloadingControllerSupport {
         /** The object for obtaining the reloading controller. */
         private final ReloadingControllerSupport ctrlSupport;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/builder/fluent/Parameters.java
 
b/src/main/java/org/apache/commons/configuration2/builder/fluent/Parameters.java
index 0c29e8c1..d8eb9ad6 100644
--- 
a/src/main/java/org/apache/commons/configuration2/builder/fluent/Parameters.java
+++ 
b/src/main/java/org/apache/commons/configuration2/builder/fluent/Parameters.java
@@ -252,7 +252,7 @@ public final class Parameters {
      * approach is required. A special handling is required for the method of 
the {@code BuilderParameters} interface
      * because here no fluent return value is used.
      */
-    private static class ParametersIfcInvocationHandler implements 
InvocationHandler {
+    private static final class ParametersIfcInvocationHandler implements 
InvocationHandler {
         /** The target object of reflection calls. */
         private final Object target;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/io/DefaultFileSystem.java 
b/src/main/java/org/apache/commons/configuration2/io/DefaultFileSystem.java
index 9f034efa..6587f881 100644
--- a/src/main/java/org/apache/commons/configuration2/io/DefaultFileSystem.java
+++ b/src/main/java/org/apache/commons/configuration2/io/DefaultFileSystem.java
@@ -213,7 +213,7 @@ public class DefaultFileSystem extends FileSystem {
      *
      * @since 1.7
      */
-    private static class HttpOutputStream extends VerifiableOutputStream {
+    private static final class HttpOutputStream extends VerifiableOutputStream 
{
         /** The wrapped OutputStream */
         private final OutputStream stream;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/io/VFSFileSystem.java 
b/src/main/java/org/apache/commons/configuration2/io/VFSFileSystem.java
index 6702c83b..f815c82d 100644
--- a/src/main/java/org/apache/commons/configuration2/io/VFSFileSystem.java
+++ b/src/main/java/org/apache/commons/configuration2/io/VFSFileSystem.java
@@ -50,7 +50,7 @@ public class VFSFileSystem extends DefaultFileSystem {
     /**
      * Stream handler required to create URL.
      */
-    private static class VFSURLStreamHandler extends URLStreamHandler {
+    private static final class VFSURLStreamHandler extends URLStreamHandler {
         /** The Protocol used */
         private final String protocol;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/plist/PropertyListConfiguration.java
 
b/src/main/java/org/apache/commons/configuration2/plist/PropertyListConfiguration.java
index 1e14f651..2a804691 100644
--- 
a/src/main/java/org/apache/commons/configuration2/plist/PropertyListConfiguration.java
+++ 
b/src/main/java/org/apache/commons/configuration2/plist/PropertyListConfiguration.java
@@ -449,7 +449,7 @@ public class PropertyListConfiguration extends 
BaseHierarchicalConfiguration imp
      * A specialized date component parser implementation that deals with 
numeric calendar fields. The class is able to
      * extract fields from a string literal and to format a literal from a 
calendar.
      */
-    private static class DateFieldParser extends DateComponentParser {
+    private static final class DateFieldParser extends DateComponentParser {
         /** Stores the calendar field to be processed. */
         private final int calendarField;
 
@@ -502,7 +502,7 @@ public class PropertyListConfiguration extends 
BaseHierarchicalConfiguration imp
     /**
      * A specialized date component parser implementation that deals with 
separator characters.
      */
-    private static class DateSeparatorParser extends DateComponentParser {
+    private static final class DateSeparatorParser extends DateComponentParser 
{
         /** Stores the separator. */
         private final String separator;
 
@@ -533,7 +533,7 @@ public class PropertyListConfiguration extends 
BaseHierarchicalConfiguration imp
     /**
      * A specialized date component parser implementation that deals with the 
time zone part of a date component.
      */
-    private static class DateTimeZoneParser extends DateComponentParser {
+    private static final class DateTimeZoneParser extends DateComponentParser {
         @Override
         public void formatComponent(final StringBuilder buf, final Calendar 
cal) {
             final TimeZone tz = cal.getTimeZone();
diff --git 
a/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java
 
b/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java
index 8e9ed7a2..af419123 100644
--- 
a/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java
+++ 
b/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java
@@ -677,7 +677,7 @@ public class XMLPropertyListConfiguration extends 
BaseHierarchicalConfiguration
      * Container for array elements. <b>Do not use this class !</b> It is used 
internally by XMLPropertyConfiguration to
      * parse the configuration file, it may be removed at any moment in the 
future.
      */
-    private static class ArrayNodeBuilder extends PListNodeBuilder {
+    private static final class ArrayNodeBuilder extends PListNodeBuilder {
         /** The list of values in the array. */
         private final List<Object> list = new ArrayList<>();
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/reloading/CombinedReloadingController.java
 
b/src/main/java/org/apache/commons/configuration2/reloading/CombinedReloadingController.java
index d0997263..b26bff46 100644
--- 
a/src/main/java/org/apache/commons/configuration2/reloading/CombinedReloadingController.java
+++ 
b/src/main/java/org/apache/commons/configuration2/reloading/CombinedReloadingController.java
@@ -122,7 +122,7 @@ public class CombinedReloadingController extends 
ReloadingController {
      * {@code ReloadingController} objects. The methods defined by the {@code 
ReloadingDetector} interface are delegated to
      * the managed controllers.
      */
-    private static class MultiReloadingControllerDetector implements 
ReloadingDetector {
+    private static final class MultiReloadingControllerDetector implements 
ReloadingDetector {
         /** A reference to the owning combined reloading controller. */
         private final CombinedReloadingController owner;
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/tree/NodeTracker.java 
b/src/main/java/org/apache/commons/configuration2/tree/NodeTracker.java
index 633fd852..2c2f01e6 100644
--- a/src/main/java/org/apache/commons/configuration2/tree/NodeTracker.java
+++ b/src/main/java/org/apache/commons/configuration2/tree/NodeTracker.java
@@ -330,7 +330,7 @@ class NodeTracker {
     /**
      * A simple data class holding information about a tracked node.
      */
-    private static class TrackedNodeData {
+    private static final class TrackedNodeData {
         /** The current instance of the tracked node. */
         private final ImmutableNode node;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java
 
b/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java
index 9996f5bb..1af273ed 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java
@@ -55,7 +55,7 @@ public class TestAbstractConfigurationBasicFeatures {
     /**
      * An event listener implementation that simply collects all received 
configuration events.
      */
-    private static class CollectingConfigurationListener implements 
EventListener<ConfigurationEvent> {
+    private static final class CollectingConfigurationListener implements 
EventListener<ConfigurationEvent> {
         final List<ConfigurationEvent> events = new ArrayList<>();
 
         @Override
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java
 
b/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java
index c76b2c3e..247a74bc 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestAbstractHierarchicalConfiguration.java
@@ -60,7 +60,7 @@ public class TestAbstractHierarchicalConfiguration {
     /**
      * A concrete test implementation of {@code 
AbstractHierarchicalConfiguration}.
      */
-    private static class AbstractHierarchicalConfigurationTestImpl extends 
AbstractHierarchicalConfiguration<ImmutableNode> {
+    private static final class AbstractHierarchicalConfigurationTestImpl 
extends AbstractHierarchicalConfiguration<ImmutableNode> {
         public AbstractHierarchicalConfigurationTestImpl(final 
InMemoryNodeModel model) {
             super(model);
         }
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestBaseConfigurationXMLReader.java
 
b/src/test/java/org/apache/commons/configuration2/TestBaseConfigurationXMLReader.java
index 39f5987f..245e9a01 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestBaseConfigurationXMLReader.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestBaseConfigurationXMLReader.java
@@ -45,7 +45,7 @@ import org.xml.sax.helpers.DefaultHandler;
  */
 public class TestBaseConfigurationXMLReader {
     // A ContentHandler that raises an exception
-    private static class TestContentHandler extends DefaultHandler {
+    private static final class TestContentHandler extends DefaultHandler {
         @Override
         public void characters(final char[] ch, final int start, final int 
length) throws SAXException {
             throw new SAXException("Test exception during parsing");
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestBaseHierarchicalConfigurationSynchronization.java
 
b/src/test/java/org/apache/commons/configuration2/TestBaseHierarchicalConfigurationSynchronization.java
index 3cec557f..7355dea6 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestBaseHierarchicalConfigurationSynchronization.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestBaseHierarchicalConfigurationSynchronization.java
@@ -50,7 +50,7 @@ public class TestBaseHierarchicalConfigurationSynchronization 
{
     /**
      * A thread class for testing concurrent access to SubNode configurations.
      */
-    private static class SubNodeAccessThread extends Thread {
+    private static final class SubNodeAccessThread extends Thread {
         /** The test configuration. */
         private final HierarchicalConfiguration<ImmutableNode> config;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java
 
b/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java
index 5dc775aa..9c161f3e 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java
@@ -65,7 +65,7 @@ public class TestCombinedConfiguration {
     /**
      * Test event listener class for checking if the expected invalidate 
events are fired.
      */
-    private static class CombinedListener implements 
EventListener<ConfigurationEvent> {
+    private static final class CombinedListener implements 
EventListener<ConfigurationEvent> {
         int invalidateEvents;
 
         int otherEvents;
@@ -95,7 +95,7 @@ public class TestCombinedConfiguration {
      * A test thread performing reads on a combined configuration. This thread 
reads a certain property from the
      * configuration. If everything works well, this property should have at 
least one and at most two values.
      */
-    private static class ReadThread extends Thread {
+    private static final class ReadThread extends Thread {
         /** The configuration to be accessed. */
         private final Configuration config;
 
@@ -165,7 +165,7 @@ public class TestCombinedConfiguration {
      * another one (which contained it before). So if concurrent reads are 
performed, the test property should always have
      * between 1 and 2 values.
      */
-    private static class WriteThread extends Thread {
+    private static final class WriteThread extends Thread {
         /** The list with the child configurations. */
         private final List<Configuration> testConfigs;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestConfigurationUtils.java 
b/src/test/java/org/apache/commons/configuration2/TestConfigurationUtils.java
index 2205b4b2..6147ebb2 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestConfigurationUtils.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestConfigurationUtils.java
@@ -55,7 +55,7 @@ public class TestConfigurationUtils {
     /**
      * A test Synchronizer implementation which can be cloned.
      */
-    private static class CloneableSynchronizer extends 
NonCloneableSynchronizer implements Cloneable {
+    private static final class CloneableSynchronizer extends 
NonCloneableSynchronizer implements Cloneable {
         /** A flag whether clone() was called. */
         private final boolean cloned;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java
 
b/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java
index ae1d0f89..d16162bc 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestDefaultImmutableConfiguration.java
@@ -43,7 +43,7 @@ import org.junit.jupiter.api.Test;
 public class TestDefaultImmutableConfiguration {
 
     /** Tests default methods. This class MUST NOT override the default 
methods! */
-    private static class MapImmutableConfiguration implements 
ImmutableConfiguration {
+    private static final class MapImmutableConfiguration implements 
ImmutableConfiguration {
 
         Map<String, Object> map = new HashMap<>();
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestDynamicCombinedConfiguration.java
 
b/src/test/java/org/apache/commons/configuration2/TestDynamicCombinedConfiguration.java
index 7d3130f8..d24ef9c0 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestDynamicCombinedConfiguration.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestDynamicCombinedConfiguration.java
@@ -99,7 +99,7 @@ public class TestDynamicCombinedConfiguration {
         }
 
     }
-    private static class ReloadThread extends Thread {
+    private static final class ReloadThread extends Thread {
         private final CombinedConfigurationBuilder builder;
         private final int[] failures;
         private final int index;
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestINIConfiguration.java 
b/src/test/java/org/apache/commons/configuration2/TestINIConfiguration.java
index 4438dab7..f9b19764 100644
--- a/src/test/java/org/apache/commons/configuration2/TestINIConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestINIConfiguration.java
@@ -69,7 +69,7 @@ public class TestINIConfiguration {
     /**
      * A thread class for testing concurrent access to the global section.
      */
-    private static class GlobalSectionTestThread extends Thread {
+    private static final class GlobalSectionTestThread extends Thread {
 
         /** The configuration. */
         private final INIConfiguration config;
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
 
b/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
index f9b78646..bb8a7060 100644
--- 
a/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
+++ 
b/src/test/java/org/apache/commons/configuration2/TestPropertiesConfiguration.java
@@ -172,7 +172,7 @@ public class TestPropertiesConfiguration {
      * A test PropertiesReader for testing whether a custom reader can be 
injected. This implementation creates a
      * configurable number of synthetic test properties.
      */
-    private static class PropertiesReaderTestImpl extends 
PropertiesConfiguration.PropertiesReader {
+    private static final class PropertiesReaderTestImpl extends 
PropertiesConfiguration.PropertiesReader {
         /** The number of test properties to be created. */
         private final int maxProperties;
 
@@ -205,7 +205,7 @@ public class TestPropertiesConfiguration {
      * A test PropertiesWriter for testing whether a custom writer can be 
injected. This implementation simply redirects all
      * output into a test file.
      */
-    private static class PropertiesWriterTestImpl extends 
PropertiesConfiguration.PropertiesWriter {
+    private static final class PropertiesWriterTestImpl extends 
PropertiesConfiguration.PropertiesWriter {
         public PropertiesWriterTestImpl(final ListDelimiterHandler handler) 
throws IOException {
             super(new FileWriter(testSavePropertiesFile), handler);
         }
diff --git 
a/src/test/java/org/apache/commons/configuration2/TestXMLConfiguration.java 
b/src/test/java/org/apache/commons/configuration2/TestXMLConfiguration.java
index 0f43807c..952fecc8 100644
--- a/src/test/java/org/apache/commons/configuration2/TestXMLConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestXMLConfiguration.java
@@ -73,7 +73,7 @@ public class TestXMLConfiguration {
     /**
      * A thread used for testing concurrent access to a builder.
      */
-    private static class ReloadThread extends Thread {
+    private static final class ReloadThread extends Thread {
         private final FileBasedConfigurationBuilder<?> builder;
 
         ReloadThread(final FileBasedConfigurationBuilder<?> confBulder) {
diff --git 
a/src/test/java/org/apache/commons/configuration2/beanutils/TestXMLBeanDeclaration.java
 
b/src/test/java/org/apache/commons/configuration2/beanutils/TestXMLBeanDeclaration.java
index e0c2152b..10635f66 100644
--- 
a/src/test/java/org/apache/commons/configuration2/beanutils/TestXMLBeanDeclaration.java
+++ 
b/src/test/java/org/apache/commons/configuration2/beanutils/TestXMLBeanDeclaration.java
@@ -43,7 +43,7 @@ public class TestXMLBeanDeclaration {
     /**
      * A helper class used for testing the createBeanDeclaration() factory 
method.
      */
-    private static class XMLBeanDeclarationTestImpl extends XMLBeanDeclaration 
{
+    private static final class XMLBeanDeclarationTestImpl extends 
XMLBeanDeclaration {
         public XMLBeanDeclarationTestImpl(final HierarchicalConfiguration<?> 
config, final NodeData<?> node) {
             super(config, node);
         }
diff --git 
a/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilder.java
 
b/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilder.java
index 24c90c7b..9885485e 100644
--- 
a/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilder.java
+++ 
b/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilder.java
@@ -69,7 +69,7 @@ public class TestBasicConfigurationBuilder {
     /**
      * A test thread class for testing whether the builder's result object can 
be requested concurrently.
      */
-    private static class AccessBuilderThread extends Thread {
+    private static final class AccessBuilderThread extends Thread {
         /** A latch for controlling the start of the thread. */
         private final CountDownLatch startLatch;
 
@@ -111,7 +111,7 @@ public class TestBasicConfigurationBuilder {
     /**
      * A builder test implementation which allows checking exception handling 
when creating new configuration objects.
      */
-    private static class BasicConfigurationBuilderInitFailImpl extends 
BasicConfigurationBuilder<PropertiesConfiguration> {
+    private static final class BasicConfigurationBuilderInitFailImpl extends 
BasicConfigurationBuilder<PropertiesConfiguration> {
         public BasicConfigurationBuilderInitFailImpl(final boolean 
allowFailOnInit) {
             super(PropertiesConfiguration.class, null, allowFailOnInit);
         }
diff --git 
a/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java
 
b/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java
index 6bcf4c30..17ee8714 100644
--- 
a/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java
+++ 
b/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java
@@ -43,7 +43,7 @@ public class TestDefaultParametersManager {
      * A test defaults handler implementation for testing the initialization 
of parameters objects with default values. This
      * class sets some hard-coded default values.
      */
-    private static class FileBasedDefaultsHandler implements 
DefaultParametersHandler<FileBasedBuilderParameters> {
+    private static final class FileBasedDefaultsHandler implements 
DefaultParametersHandler<FileBasedBuilderParameters> {
         @Override
         public void initializeDefaults(final FileBasedBuilderParameters 
parameters) {
             
parameters.setThrowExceptionOnMissing(true).setEncoding(DEF_ENCODING).setListDelimiterHandler(listHandler);
diff --git 
a/src/test/java/org/apache/commons/configuration2/builder/TestReloadingFileBasedConfigurationBuilder.java
 
b/src/test/java/org/apache/commons/configuration2/builder/TestReloadingFileBasedConfigurationBuilder.java
index 28af890a..3725698d 100644
--- 
a/src/test/java/org/apache/commons/configuration2/builder/TestReloadingFileBasedConfigurationBuilder.java
+++ 
b/src/test/java/org/apache/commons/configuration2/builder/TestReloadingFileBasedConfigurationBuilder.java
@@ -44,7 +44,7 @@ public class TestReloadingFileBasedConfigurationBuilder {
     /**
      * A test builder implementation which allows mocking the underlying 
reloading detector.
      */
-    private static class ReloadingFileBasedConfigurationBuilderTestImpl 
extends ReloadingFileBasedConfigurationBuilder<PropertiesConfiguration> {
+    private static final class ReloadingFileBasedConfigurationBuilderTestImpl 
extends ReloadingFileBasedConfigurationBuilder<PropertiesConfiguration> {
         /** The mock for the reloading detector. */
         private final ReloadingDetector mockDetector;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
 
b/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
index 119049ad..2ec29dc1 100644
--- 
a/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
+++ 
b/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
@@ -127,7 +127,7 @@ public class TestCombinedConfigurationBuilder {
     /**
      * A test builder class which always returns the same configuration.
      */
-    private static class ConstantConfigurationBuilder extends 
BasicConfigurationBuilder<BaseHierarchicalConfiguration> {
+    private static final class ConstantConfigurationBuilder extends 
BasicConfigurationBuilder<BaseHierarchicalConfiguration> {
         private final BaseHierarchicalConfiguration configuration;
 
         public ConstantConfigurationBuilder(final 
BaseHierarchicalConfiguration conf) {
@@ -195,7 +195,7 @@ public class TestCombinedConfigurationBuilder {
     /**
      * A thread class for testing concurrent read access to a newly created 
configuration.
      */
-    private static class ReadThread extends Thread {
+    private static final class ReadThread extends Thread {
         /** The configuration to access. */
         private final CombinedConfiguration config;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java
 
b/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java
index a37d1618..47e27606 100644
--- 
a/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java
+++ 
b/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java
@@ -58,7 +58,7 @@ public class 
TestReloadingCombinedConfigurationBuilderFileBased {
     /**
      * A test builder class which always returns the same configuration.
      */
-    private static class ConstantConfigurationBuilder extends 
BasicConfigurationBuilder<BaseHierarchicalConfiguration> {
+    private static final class ConstantConfigurationBuilder extends 
BasicConfigurationBuilder<BaseHierarchicalConfiguration> {
         private final BaseHierarchicalConfiguration configuration;
 
         public ConstantConfigurationBuilder(final 
BaseHierarchicalConfiguration conf) {
@@ -75,7 +75,7 @@ public class 
TestReloadingCombinedConfigurationBuilderFileBased {
     /**
      * A thread class for testing concurrent reload operations.
      */
-    private static class ReloadThread extends Thread {
+    private static final class ReloadThread extends Thread {
         /** The builder to be queried. */
         private final ReloadingCombinedConfigurationBuilder builder;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingMultiFileConfigurationBuilder.java
 
b/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingMultiFileConfigurationBuilder.java
index 3e710cff..e6fa616d 100644
--- 
a/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingMultiFileConfigurationBuilder.java
+++ 
b/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingMultiFileConfigurationBuilder.java
@@ -51,7 +51,7 @@ public class TestReloadingMultiFileConfigurationBuilder 
extends AbstractMultiFil
      * builders.
      *
      */
-    private static class ReloadingMultiFileConfigurationBuilderTestImpl 
extends ReloadingMultiFileConfigurationBuilder<XMLConfiguration> {
+    private static final class ReloadingMultiFileConfigurationBuilderTestImpl 
extends ReloadingMultiFileConfigurationBuilder<XMLConfiguration> {
         /**
          * A list with mocks for reloading controllers created by this 
instance.
          */
diff --git 
a/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java
 
b/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java
index 87d87604..b6d20ac6 100644
--- 
a/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java
+++ 
b/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java
@@ -63,7 +63,7 @@ public class TestEventListenerList {
     /**
      * A test event class derived from the base test event class.
      */
-    private static class EventSub1 extends EventBase {
+    private static final class EventSub1 extends EventBase {
         private static final long serialVersionUID = 1L;
 
         public EventSub1(final Object source, final EventType<? extends 
EventSub1> type, final String msg) {
@@ -74,7 +74,7 @@ public class TestEventListenerList {
     /**
      * Another test event class derived from the base class.
      */
-    private static class EventSub2 extends EventBase {
+    private static final class EventSub2 extends EventBase {
         private static final long serialVersionUID = 1L;
 
         public EventSub2(final Object source, final EventType<? extends 
EventSub2> type, final String msg) {
@@ -86,7 +86,7 @@ public class TestEventListenerList {
      * A test event listener implementation. This listener class expects that 
it receives at most a single event. This event
      * is stored for further evaluation.
      */
-    private static class ListenerTestImpl implements EventListener<EventBase> {
+    private static final class ListenerTestImpl implements 
EventListener<EventBase> {
         /** The event received by this object. */
         private EventBase receivedEvent;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/event/TestEventSource.java 
b/src/test/java/org/apache/commons/configuration2/event/TestEventSource.java
index 8e95f0d1..f42b930f 100644
--- a/src/test/java/org/apache/commons/configuration2/event/TestEventSource.java
+++ b/src/test/java/org/apache/commons/configuration2/event/TestEventSource.java
@@ -37,7 +37,7 @@ public class TestEventSource {
      * the {@code fireEvent()} methods only creates event objects if 
necessary. It also allows testing the clone()
      * operation.
      */
-    private static class CountingEventSource extends BaseEventSource 
implements Cloneable {
+    private static final class CountingEventSource extends BaseEventSource 
implements Cloneable {
         int eventCount;
 
         int errorCount;
diff --git 
a/src/test/java/org/apache/commons/configuration2/io/TestFileHandler.java 
b/src/test/java/org/apache/commons/configuration2/io/TestFileHandler.java
index 3646c258..cd020e74 100644
--- a/src/test/java/org/apache/commons/configuration2/io/TestFileHandler.java
+++ b/src/test/java/org/apache/commons/configuration2/io/TestFileHandler.java
@@ -101,6 +101,9 @@ public class TestFileHandler {
 
     /**
      * A test implementation of FileBased which can also read from input 
streams.
+     * <p>
+     * Cannot be final for Mockito.
+     * </p>
      */
     private static class FileBasedInputStreamSupportTestImpl extends 
FileBasedTestImpl implements InputStreamSupport {
         @Override
@@ -154,7 +157,7 @@ public class TestFileHandler {
     /**
      * A test listener implementation.
      */
-    private static class FileHandlerListenerTestImpl extends 
FileHandlerListenerAdapter {
+    private static final class FileHandlerListenerTestImpl extends 
FileHandlerListenerAdapter {
         /** The expected file handler. */
         private final FileHandler expHandler;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/reloading/TestFileHandlerReloadingDetector.java
 
b/src/test/java/org/apache/commons/configuration2/reloading/TestFileHandlerReloadingDetector.java
index 90386bb8..4905284d 100644
--- 
a/src/test/java/org/apache/commons/configuration2/reloading/TestFileHandlerReloadingDetector.java
+++ 
b/src/test/java/org/apache/commons/configuration2/reloading/TestFileHandlerReloadingDetector.java
@@ -37,7 +37,7 @@ public class TestFileHandlerReloadingDetector {
     /**
      * A test implementation which allows mocking the monitored file.
      */
-    private static class FileHandlerReloadingDetectorTestImpl extends 
FileHandlerReloadingDetector {
+    private static final class FileHandlerReloadingDetectorTestImpl extends 
FileHandlerReloadingDetector {
         /** The mock file. */
         private final File mockFile;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/sync/TestReadWriteSynchronizer.java
 
b/src/test/java/org/apache/commons/configuration2/sync/TestReadWriteSynchronizer.java
index c766849e..a95676b0 100644
--- 
a/src/test/java/org/apache/commons/configuration2/sync/TestReadWriteSynchronizer.java
+++ 
b/src/test/java/org/apache/commons/configuration2/sync/TestReadWriteSynchronizer.java
@@ -35,7 +35,7 @@ public class TestReadWriteSynchronizer {
     /**
      * A class representing an account.
      */
-    private static class Account {
+    private static final class Account {
         /** The amount stored in this account. */
         private long amount;
 
@@ -62,7 +62,7 @@ public class TestReadWriteSynchronizer {
      * A thread which performs a number of read operations on the bank's 
accounts and checks whether the amount of money is
      * consistent.
      */
-    private static class ReaderThread extends Thread {
+    private static final class ReaderThread extends Thread {
         /** The acounts to monitor. */
         private final Account[] accounts;
 
@@ -118,7 +118,7 @@ public class TestReadWriteSynchronizer {
      * transaction determines the account containing more money. Then a random 
number of money is transferred from this
      * account to the other one.
      */
-    private static class UpdateThread extends Thread {
+    private static final class UpdateThread extends Thread {
         /** The synchronizer. */
         private final Synchronizer sync;
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/tree/AbstractImmutableNodeHandlerTest.java
 
b/src/test/java/org/apache/commons/configuration2/tree/AbstractImmutableNodeHandlerTest.java
index 4892e772..b00324c3 100644
--- 
a/src/test/java/org/apache/commons/configuration2/tree/AbstractImmutableNodeHandlerTest.java
+++ 
b/src/test/java/org/apache/commons/configuration2/tree/AbstractImmutableNodeHandlerTest.java
@@ -40,7 +40,7 @@ public abstract class AbstractImmutableNodeHandlerTest {
     /**
      * A dummy NodeMatcher implementation that will simply accept all passed 
in nodes.
      */
-    private static class DummyNodeMatcher implements NodeMatcher<Object> {
+    private static final class DummyNodeMatcher implements NodeMatcher<Object> 
{
         @Override
         public <T> boolean matches(final T node, final NodeHandler<T> handler, 
final Object criterion) {
             return true;
diff --git 
a/src/test/java/org/apache/commons/configuration2/tree/TestNodeTreeWalker.java 
b/src/test/java/org/apache/commons/configuration2/tree/TestNodeTreeWalker.java
index 32b04f7f..670b38be 100644
--- 
a/src/test/java/org/apache/commons/configuration2/tree/TestNodeTreeWalker.java
+++ 
b/src/test/java/org/apache/commons/configuration2/tree/TestNodeTreeWalker.java
@@ -33,7 +33,7 @@ public class TestNodeTreeWalker {
      * A visitor implementation used for testing purposes. The visitor 
produces a list with the names of the nodes visited
      * in the order it was called. With this it can be tested whether the 
nodes were visited in the correct order.
      */
-    private static class TestVisitor implements 
ConfigurationNodeVisitor<ImmutableNode> {
+    private static final class TestVisitor implements 
ConfigurationNodeVisitor<ImmutableNode> {
         /** A list with the names of the visited nodes. */
         private final List<String> visitedNodes = new LinkedList<>();
 
diff --git 
a/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
 
b/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
index fe524043..7341e3bc 100644
--- 
a/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
+++ 
b/src/test/java/org/apache/commons/configuration2/web/TestServletFilterConfiguration.java
@@ -34,7 +34,7 @@ import org.junit.jupiter.api.Test;
  * Test case for the {@link ServletFilterConfiguration} class.
  */
 public class TestServletFilterConfiguration extends TestAbstractConfiguration {
-    private static class MockFilterConfig implements FilterConfig {
+    private static final class MockFilterConfig implements FilterConfig {
         private final Properties parameters = new Properties();
 
         @Override


Reply via email to