Author: oheger
Date: Fri May  2 19:53:28 2014
New Revision: 1592016

URL: http://svn.apache.org/r1592016
Log:
Made type parameter of configuration builder classes more flexible.

The result class managed by the builder does not have to be of type T, but can
extend it.

Modified:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/BasicConfigurationBuilder.java
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingFileBasedConfigurationBuilder.java
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/MultiFileConfigurationBuilder.java

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/BasicConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/BasicConfigurationBuilder.java?rev=1592016&r1=1592015&r2=1592016&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/BasicConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/BasicConfigurationBuilder.java
 Fri May  2 19:53:28 2014
@@ -108,7 +108,7 @@ public class BasicConfigurationBuilder<T
         ConfigurationBuilder<T>
 {
     /** The class of the objects produced by this builder instance. */
-    private final Class<T> resultClass;
+    private final Class<? extends T> resultClass;
 
     /**
      * A collection with configuration listeners to be registered at newly
@@ -145,7 +145,7 @@ public class BasicConfigurationBuilder<T
      * @param resCls the result class (must not be <b>null</b>
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public BasicConfigurationBuilder(Class<T> resCls)
+    public BasicConfigurationBuilder(Class<? extends T> resCls)
     {
         this(resCls, null);
     }
@@ -160,7 +160,7 @@ public class BasicConfigurationBuilder<T
      * @param params a map with initialization parameters
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public BasicConfigurationBuilder(Class<T> resCls, Map<String, Object> 
params)
+    public BasicConfigurationBuilder(Class<? extends T> resCls, Map<String, 
Object> params)
     {
         this(resCls, params, false);
     }
@@ -178,7 +178,7 @@ public class BasicConfigurationBuilder<T
      *        created {@code Configuration} object are allowed
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public BasicConfigurationBuilder(Class<T> resCls,
+    public BasicConfigurationBuilder(Class<? extends T> resCls,
             Map<String, Object> params, boolean allowFailOnInit)
     {
         if (resCls == null)
@@ -200,7 +200,7 @@ public class BasicConfigurationBuilder<T
      *
      * @return the result class of this builder
      */
-    public Class<T> getResultClass()
+    public Class<? extends T> getResultClass()
     {
         return resultClass;
     }

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java?rev=1592016&r1=1592015&r2=1592016&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
 Fri May  2 19:53:28 2014
@@ -79,7 +79,7 @@ public class FileBasedConfigurationBuild
      * @param resCls the result class (must not be <b>null</b>
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public FileBasedConfigurationBuilder(Class<T> resCls)
+    public FileBasedConfigurationBuilder(Class<? extends T> resCls)
     {
         super(resCls);
     }
@@ -93,7 +93,7 @@ public class FileBasedConfigurationBuild
      * @param params a map with initialization parameters
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public FileBasedConfigurationBuilder(Class<T> resCls,
+    public FileBasedConfigurationBuilder(Class<? extends T> resCls,
             Map<String, Object> params)
     {
         super(resCls, params);
@@ -109,7 +109,7 @@ public class FileBasedConfigurationBuild
      * @param allowFailOnInit the <em>allowFailOnInit</em> flag
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public FileBasedConfigurationBuilder(Class<T> resCls,
+    public FileBasedConfigurationBuilder(Class<? extends T> resCls,
             Map<String, Object> params, boolean allowFailOnInit)
     {
         super(resCls, params, allowFailOnInit);

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingFileBasedConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingFileBasedConfigurationBuilder.java?rev=1592016&r1=1592015&r2=1592016&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingFileBasedConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingFileBasedConfigurationBuilder.java
 Fri May  2 19:53:28 2014
@@ -90,7 +90,7 @@ public class ReloadingFileBasedConfigura
      * @param params a map with initialization parameters
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public ReloadingFileBasedConfigurationBuilder(Class<T> resCls,
+    public ReloadingFileBasedConfigurationBuilder(Class<? extends T> resCls,
             Map<String, Object> params)
     {
         super(resCls, params);
@@ -107,7 +107,7 @@ public class ReloadingFileBasedConfigura
      * @param allowFailOnInit the <em>allowFailOnInit</em> flag
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public ReloadingFileBasedConfigurationBuilder(Class<T> resCls,
+    public ReloadingFileBasedConfigurationBuilder(Class<? extends T> resCls,
             Map<String, Object> params, boolean allowFailOnInit)
     {
         super(resCls, params, allowFailOnInit);
@@ -121,7 +121,7 @@ public class ReloadingFileBasedConfigura
      * @param resCls the result class (must not be <b>null</b>
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public ReloadingFileBasedConfigurationBuilder(Class<T> resCls)
+    public ReloadingFileBasedConfigurationBuilder(Class<? extends T> resCls)
     {
         super(resCls);
         reloadingController = createReloadingController();

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/MultiFileConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/MultiFileConfigurationBuilder.java?rev=1592016&r1=1592015&r2=1592016&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/MultiFileConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/MultiFileConfigurationBuilder.java
 Fri May  2 19:53:28 2014
@@ -128,7 +128,7 @@ public class MultiFileConfigurationBuild
      *        ignored
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public MultiFileConfigurationBuilder(Class<T> resCls,
+    public MultiFileConfigurationBuilder(Class<? extends T> resCls,
             Map<String, Object> params, boolean allowFailOnInit)
     {
         super(resCls, params, allowFailOnInit);
@@ -142,7 +142,7 @@ public class MultiFileConfigurationBuild
      * @param params a map with initialization parameters
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public MultiFileConfigurationBuilder(Class<T> resCls,
+    public MultiFileConfigurationBuilder(Class<? extends T> resCls,
             Map<String, Object> params)
     {
         super(resCls, params);
@@ -155,7 +155,7 @@ public class MultiFileConfigurationBuild
      * @param resCls the result configuration class
      * @throws IllegalArgumentException if the result class is <b>null</b>
      */
-    public MultiFileConfigurationBuilder(Class<T> resCls)
+    public MultiFileConfigurationBuilder(Class<? extends T> resCls)
     {
         super(resCls);
     }


Reply via email to