Add an observer of cache events.
Add an observer of cache events.
the observer to add
the handle to the observer.
Add an observer of events.
Add an observer of events.
the observer to add
the handle to the observer.
Cleans up the path watcher and clears the directory cache.
Cleans up the path watcher and clears the directory cache.
List all of the files for the path
, returning only those files that are accepted by the
provided filter.
List all of the files for the path
, returning only those files that are accepted by the
provided filter.
the root path to list
the maximum depth of subdirectories to query
include only paths accepted by the filter
a List of TypedPath instances accepted by the filter.
List all of the files for the path
that are accepted by the filter
.
List all of the files for the path
that are accepted by the filter
.
the path to list. If this is a file, returns a list containing the Entry for the file or an empty list if the file is not monitored by the path.
the maximum depth of subdirectories to return
include only paths accepted by this
a List of Entry instances accepted by the filter. The list will be empty if the path is not a subdirectory of this CachedDirectory or if it is a subdirectory, but the CachedDirectory was created without the recursive flag.
Register a path with the cache.
Register a path with the cache. A successful call to this method will both start monitoring of the path add will fill the cache for this path.
the directory to watch for file events and to add to the cache
the maximum maxDepth of subdirectories to watch
an com.swoval.functional.Either that will return a right value when no exception is thrown. The right value will be true if the path has not been previously registered. The com.swoval.functional.Either will be a left if any IOException is thrown attempting to register the path.
Remove an observer.
Remove an observer.
the handle that was returned by addObserver
Unregister a path from the cache.
Unregister a path from the cache. This removes the path from monitoring and from the cache so long as the path isn't covered by another registered path. For example, if the path /foo was previously registered, after removal, no changes to /foo or files in /foo should be detected by the cache. Moreover, calling FileTreeRepository.list for /foo should return an empty list. If, however, we register both /foo recursively and /foo/bar (recursively or not), after unregistering /foo/bar, changes to /foo/bar should continue to be detected and /foo/bar should be included in the list returned by FileTreeRepository.list.
the path to unregister