As part of this plan item, I have prototyped
an abstract file system API. This API provides an extension point
to allow other plugins to provide implementations for other file systems.
Clients of this API use this abstraction layer as a replacement for
interaction with java.io.File. An initial cut of this API has been
released into a new plugin called "org.eclipse.core.filesystem",
available now in dev.eclipse.org/cvsroot/eclipse. This plugin also
provides an implementation for interaction with the local file system.
I have ported the org.eclipse.core.resources plugin to run on top of this
abstract API, and this work is currently in a CVS branch called "v20050705_FileSystemAPI"
(for org.eclipse.core.resources and org.eclipse.core.tests.resources).
Coments, feedback, and criticism of
this API is most welcome, either on this mailing list or in the plan item
bug report. In particular, I would be very interested to hear from
people who have potential uses for this API as clients, and from those
who want to plugin different file system implementations. While I
have prototyped both local file system and an FTP-based file system, the
API could benefit from a few other file systems implementations to validate
that the abstraction layer is sufficient for a broad enough set of different