Author: oheger Date: Tue Mar 26 15:10:42 2013 New Revision: 1461170 URL: http://svn.apache.org/r1461170 Log: Added a property for a ReloadingDetectorFactory to FileBasedBuilderParametersImpl.
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java?rev=1461170&r1=1461169&r2=1461170&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java (original) +++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java Tue Mar 26 15:10:42 2013 @@ -57,6 +57,9 @@ public class FileBasedBuilderParametersI */ private FileHandler fileHandler; + /** The factory for reloading detectors. */ + private ReloadingDetectorFactory reloadingDetectorFactory; + /** The refresh delay for reloading support. */ private long reloadingRefreshDelay; @@ -148,6 +151,24 @@ public class FileBasedBuilderParametersI return this; } + /** + * Returns the {@code ReloadingDetectorFactory}. Result may be <b>null</b> + * which means that the default factory is to be used. + * + * @return the {@code ReloadingDetectorFactory} + */ + public ReloadingDetectorFactory getReloadingDetectorFactory() + { + return reloadingDetectorFactory; + } + + public FileBasedBuilderParametersImpl setReloadingDetectorFactory( + ReloadingDetectorFactory reloadingDetectorFactory) + { + this.reloadingDetectorFactory = reloadingDetectorFactory; + return this; + } + public FileBasedBuilderParametersImpl setFile(File file) { getFileHandler().setFile(file); Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java?rev=1461170&r1=1461169&r2=1461170&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java (original) +++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java Tue Mar 26 15:10:42 2013 @@ -44,6 +44,17 @@ public interface FileBasedBuilderPropert T setReloadingRefreshDelay(long reloadingRefreshDelay); /** + * Sets the factory for creating {@code ReloadingDetector} objects. With + * this method a custom factory for reloading detectors can be installed. + * Per default, a factory creating {@code FileHandlerReloadingDetector} + * objects is used. + * + * @param factory the {@code ReloadingDetectorFactory} + * @return a reference to this object for method chaining + */ + T setReloadingDetectorFactory(ReloadingDetectorFactory factory); + + /** * Sets the location of the associated {@code FileHandler} as a {@code File} * object. * Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java?rev=1461170&r1=1461169&r2=1461170&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java (original) +++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java Tue Mar 26 15:10:42 2013 @@ -82,6 +82,24 @@ public class TestFileBasedBuilderParamet } /** + * Tests whether a factory for reloading detectors can be set. + */ + @Test + public void testSetReloadingDetectorFactory() + { + ReloadingDetectorFactory factory = + EasyMock.createMock(ReloadingDetectorFactory.class); + EasyMock.replay(factory); + FileBasedBuilderParametersImpl params = + new FileBasedBuilderParametersImpl(); + assertNull("Got a factory", params.getReloadingDetectorFactory()); + assertSame("Wrong result", params, + params.setReloadingDetectorFactory(factory)); + assertSame("Factory not set", factory, + params.getReloadingDetectorFactory()); + } + + /** * Tests whether a file can be set. */ @Test