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 f43a32666 Internal refactoring
f43a32666 is described below

commit f43a326663ca4a9e207fc54f7a69c0f78748c597
Author: Gary Gregory <[email protected]>
AuthorDate: Thu Mar 12 08:18:03 2026 -0400

    Internal refactoring
---
 .../configuration2/io/AbsoluteNameLocationStrategy.java      |  5 +++++
 .../commons/configuration2/io/BasePathLocationStrategy.java  |  5 +++++
 .../commons/configuration2/io/ClasspathLocationStrategy.java |  5 +++++
 .../apache/commons/configuration2/io/FileLocatorUtils.java   | 12 ++++++++++--
 .../configuration2/io/FileSystemLocationStrategy.java        |  5 +++++
 .../configuration2/io/ProvidedURLLocationStrategy.java       |  5 +++++
 6 files changed, 35 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/configuration2/io/AbsoluteNameLocationStrategy.java
 
b/src/main/java/org/apache/commons/configuration2/io/AbsoluteNameLocationStrategy.java
index 7d8b6167e..44e86e896 100644
--- 
a/src/main/java/org/apache/commons/configuration2/io/AbsoluteNameLocationStrategy.java
+++ 
b/src/main/java/org/apache/commons/configuration2/io/AbsoluteNameLocationStrategy.java
@@ -35,6 +35,11 @@ import org.apache.commons.lang3.StringUtils;
  */
 public class AbsoluteNameLocationStrategy implements FileLocationStrategy {
 
+    /**
+     * A singleton instance of this strategy.
+     */
+    static final AbsoluteNameLocationStrategy INSTANCE = new 
AbsoluteNameLocationStrategy();
+
     /**
      * Constructs a new instance.
      */
diff --git 
a/src/main/java/org/apache/commons/configuration2/io/BasePathLocationStrategy.java
 
b/src/main/java/org/apache/commons/configuration2/io/BasePathLocationStrategy.java
index 7e35d33de..f0b39c90e 100644
--- 
a/src/main/java/org/apache/commons/configuration2/io/BasePathLocationStrategy.java
+++ 
b/src/main/java/org/apache/commons/configuration2/io/BasePathLocationStrategy.java
@@ -36,6 +36,11 @@ import org.apache.commons.lang3.StringUtils;
  */
 public class BasePathLocationStrategy implements FileLocationStrategy {
 
+    /**
+     * A singleton instance of this strategy.
+     */
+    static final BasePathLocationStrategy INSTANCE = new 
BasePathLocationStrategy();
+
     /**
      * Constructs a new instance.
      */
diff --git 
a/src/main/java/org/apache/commons/configuration2/io/ClasspathLocationStrategy.java
 
b/src/main/java/org/apache/commons/configuration2/io/ClasspathLocationStrategy.java
index dde30300a..45a672a6e 100644
--- 
a/src/main/java/org/apache/commons/configuration2/io/ClasspathLocationStrategy.java
+++ 
b/src/main/java/org/apache/commons/configuration2/io/ClasspathLocationStrategy.java
@@ -33,6 +33,11 @@ import org.apache.commons.lang3.StringUtils;
  */
 public class ClasspathLocationStrategy implements FileLocationStrategy {
 
+    /**
+     * A singleton instance of this strategy.
+     */
+    static final ClasspathLocationStrategy INSTANCE = new 
ClasspathLocationStrategy();
+
     /**
      * Constructs a new instance.
      */
diff --git 
a/src/main/java/org/apache/commons/configuration2/io/FileLocatorUtils.java 
b/src/main/java/org/apache/commons/configuration2/io/FileLocatorUtils.java
index ac2924bb3..6021dcf92 100644
--- a/src/main/java/org/apache/commons/configuration2/io/FileLocatorUtils.java
+++ b/src/main/java/org/apache/commons/configuration2/io/FileLocatorUtils.java
@@ -434,8 +434,16 @@ public final class FileLocatorUtils {
      * @return the default {@code FileLocationStrategy}
      */
     private static FileLocationStrategy initDefaultLocationStrategy() {
-        final FileLocationStrategy[] subStrategies = {new 
ProvidedURLLocationStrategy(), new FileSystemLocationStrategy(), new 
AbsoluteNameLocationStrategy(),
-            new BasePathLocationStrategy(), new 
HomeDirectoryLocationStrategy(true), new HomeDirectoryLocationStrategy(false), 
new ClasspathLocationStrategy()};
+        // @formatter:off
+        final FileLocationStrategy[] subStrategies = {
+                ProvidedURLLocationStrategy.INSTANCE,
+                FileSystemLocationStrategy.INSTANCE,
+                AbsoluteNameLocationStrategy.INSTANCE,
+                BasePathLocationStrategy.INSTANCE,
+                new HomeDirectoryLocationStrategy(true),
+                new HomeDirectoryLocationStrategy(false),
+                ClasspathLocationStrategy.INSTANCE};
+        // @formatter:on
         return new CombinedLocationStrategy(Arrays.asList(subStrategies));
     }
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/io/FileSystemLocationStrategy.java
 
b/src/main/java/org/apache/commons/configuration2/io/FileSystemLocationStrategy.java
index a712adbd4..40856c3fa 100644
--- 
a/src/main/java/org/apache/commons/configuration2/io/FileSystemLocationStrategy.java
+++ 
b/src/main/java/org/apache/commons/configuration2/io/FileSystemLocationStrategy.java
@@ -33,6 +33,11 @@ import java.net.URL;
  */
 public class FileSystemLocationStrategy implements FileLocationStrategy {
 
+    /**
+     * A singleton instance of this strategy.
+     */
+    static final FileSystemLocationStrategy INSTANCE = new 
FileSystemLocationStrategy();
+
     /**
      * Constructs a new instance.
      */
diff --git 
a/src/main/java/org/apache/commons/configuration2/io/ProvidedURLLocationStrategy.java
 
b/src/main/java/org/apache/commons/configuration2/io/ProvidedURLLocationStrategy.java
index 3874481dc..c59e50ef9 100644
--- 
a/src/main/java/org/apache/commons/configuration2/io/ProvidedURLLocationStrategy.java
+++ 
b/src/main/java/org/apache/commons/configuration2/io/ProvidedURLLocationStrategy.java
@@ -33,6 +33,11 @@ import java.net.URL;
  */
 public class ProvidedURLLocationStrategy implements FileLocationStrategy {
 
+    /**
+     * A singleton instance of this strategy.
+     */
+    static final ProvidedURLLocationStrategy INSTANCE = new 
ProvidedURLLocationStrategy();
+
     /**
      * {@inheritDoc} This implementation just returns the URL stored in the 
given {@code FileLocator}.
      */

Reply via email to