EFS Notes and Designs
List of Authors:
Chris Recoskie (email@example.com) Greg Watson (firstname.lastname@example.org)
- IPath <==> URI conversions are not always properly handle
Consider the following example:
IPath path = new Path("c:", "/a/b/c"); IFileStore f = EFS.getLocalFileSystem().getStore(path); then print out f.toURI() you get something like: file:/path/to/workspace/c:/a/b/c
- Lack of Windows path support
- There is no device field in a URI. I.e., it's not legal to have c: in a URI.
- There is no notion of root on windows
How do you distinguish between the following? ** the full path C:\a which becomes file://c/a ** the relative path c/a which then also becomes file://c/a
It might be possible to handle this by forcing the latter to be file://./c/a but neither URI nor EFS enforces anything like this.
- URIs lose OS specific information.
Since a URI is just a string, it doesn't really store information about where it came from. For example, say you have the URI file://a/b. Is that a UNIX-style path corresponding to /a/b, or was it a Windows path corresponding to a:\b? You just don't know.