I was looking at the VFS code recently and had a few questions: - There's a *plugins.xml* file that each of the plugins needs to register themselves with. I was wondering if there was a reason that the *ServiceLoader* wasn't used for this? It would seem like a natural fit. - Are there any plans to create adaptors for the NIO FS package? I'm envisioning something where we write adapters that adapt the interfaces of one to the interfaces of the other. This might cut down on the amount of work, since every implementation would not have to write their own NIO FS adapter. - Is there a TCK for VFS? This would make it easy for implementers to verify that they're conforming with the intent of the interfaces. This came up while I was looking over the S3 implementation and realised that the UserAuthenticator doesn't seem to be implemented. And that credentials are basically part of the URL. Ideally, the TCK would allow the user to specify a ROOT URL, and user credentials, and then run the suite of tests and verify that all operations work properly. - What is the long-term plan for VFS? Do you want to have all of the implementations be NIO FS implementations, and the original APIs for VFS would be deprecated? The reason I ask is that we have an application that currently uses VFS with a handful of plugins and want to know if we should plan on refactoring that at some point to NIO FS?
Cheers, Mark