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);
}