Package org.apache.commons.configuration2.reloading

## Class VFSFileHandlerReloadingDetector

- java.lang.Object
- - org.apache.commons.configuration2.reloading.FileHandlerReloadingDetector
  - - org.apache.commons.configuration2.reloading.VFSFileHandlerReloadingDetector

- All Implemented Interfaces:
    `ReloadingDetector`

      public class VFSFileHandlerReloadingDetector
      extends FileHandlerReloadingDetector

  A file-based reloading strategy that uses Commons VFS to determine when a file was changed.

  This reloading strategy is very similar to `FileHandlerReloadingDetector`, except for the fact that it uses VFS and thus can deal with a variety of different configuration sources.

  This strategy only works with FileConfiguration instances.

  Since:
    1.7

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VFSFileHandlerReloadingDetector()` | Creates a new instance of `VFSFileHandlerReloadingDetector` and initializes it with an empty `FileHandler` object.
    `VFSFileHandlerReloadingDetector​(FileHandler handler)` | Creates a new instance of `VFSFileHandlerReloadingDetector` and initializes it with the given `FileHandler` object.
    `VFSFileHandlerReloadingDetector​(FileHandler handler, long refreshDelay)` | Creates a new instance of `VFSFileHandlerReloadingDetector` and initializes it with the given `FileHandler` object and the given refresh delay.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected org.apache.commons.vfs2.FileObject` | `getFileObject()` | Gets the file that is monitored by this strategy.
    `protected long` | `getLastModificationDate()` | Gets the date of the last modification of the monitored file.
    `protected String` | `resolveFileURI()` | Resolves the URI of the monitored file.

    - ### Methods inherited from class org.apache.commons.configuration2.reloading.FileHandlerReloadingDetector

      `getFile, getFileHandler, getRefreshDelay, isReloadingRequired, refresh, reloadingPerformed, updateLastModified`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### VFSFileHandlerReloadingDetector

          public VFSFileHandlerReloadingDetector()

      Creates a new instance of `VFSFileHandlerReloadingDetector` and initializes it with an empty `FileHandler` object.

    - #### VFSFileHandlerReloadingDetector

          public VFSFileHandlerReloadingDetector​(FileHandler handler,
                                                 long refreshDelay)

      Creates a new instance of `VFSFileHandlerReloadingDetector` and initializes it with the given `FileHandler` object and the given refresh delay.
      Parameters:
        `handler` - the `FileHandler`
        `refreshDelay` - the refresh delay

    - #### VFSFileHandlerReloadingDetector

          public VFSFileHandlerReloadingDetector​(FileHandler handler)

      Creates a new instance of `VFSFileHandlerReloadingDetector` and initializes it with the given `FileHandler` object.
      Parameters:
        `handler` - the `FileHandler`

  - ### Method Detail

    - #### getLastModificationDate

          protected long getLastModificationDate()

      Gets the date of the last modification of the monitored file. A return value of 0 indicates, that the monitored file does not exist. This implementation uses Commons VFS to obtain a `FileObject` and read the date of the last modification.
      Overrides:
        `getLastModificationDate` in class `FileHandlerReloadingDetector`
      Returns:
        the last modification date in milliseconds.

    - #### getFileObject

          protected org.apache.commons.vfs2.FileObject getFileObject()

      Gets the file that is monitored by this strategy. Note that the return value can be null under some circumstances.
      Returns:
        the monitored file

    - #### resolveFileURI

          protected String resolveFileURI()

      Resolves the URI of the monitored file.
      Returns:
        the URI of the monitored file or null if it cannot be resolved