MasterFileSystem exports SPI for versioning support. There is expected that
module that provides implementation of FileSystem that should be plugable into
MasterFileSystem must implement at least
MasterFileSystem doesn't provide pure client API but has tiny API that
is intended just for SPI providers (slightly disputable if it should be called API or SPI).
All SPI are plugable, registred by Lookup.
A way to temporarily suspend native listeners.
fileLocked method to
throw IOException is
source incompatible, but
binary compatible. As masterfs friends are always compiled at the same time as
masterfs, and even if they will not, they will link (as the change is binary
compatible), we modified the method signature to throw
Implementation of native listeners has been moved to separate modules, so the masterfs itself does not depend on JNA library.
Introduced a new constructor parameter
providesCanWrite to specify if a
ProvidedExtensions instance is meant to provide the canWrite() value for a file.
ProvidedExtensions.getCopyHandler() allows to delegate a copy operation.
CvsFileSystemwill be now provided by
MasterFileSystem. There will be guaranteed that there won't be more instances of FileObject addressing one
FileUtil.toFileObjectand so on, and thus implicitly depend on the existence of this module. In the future a provide-require token might make sense.
Read more about the implementation in the answers to architecture questions.
Built on April 20 2014. | Portions Copyright 1997-2014 Oracle. All rights reserved.