Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-incubator-e4-dev] [resources] Resource Folder filters

Hi Terry,

Terry Parker wrote:
Hi Serge,

    Having filtering at the EFS level (which is analogous to have it
    at the Directory.Filter level discussed earlier in this thread) is
    a nice addition, although it is only as long as a method such as
    IFileStore. childStores(Filter, |int options, IProgressMonitor
    monitor) is faster than the regular |IFileStore. childStores(|int
    options, IProgressMonitor monitor).

This may be true for EFS implementations for remote file systems. For local files, if we really get the resource filtering right I agree that EFS-level filtering doesn't add much.

An additional challenge of EFS implementation of filters is that the filtering code itself resides on the local machine, passed down from the resource extension point, which poses a problem with performance anyway with remote file systems since the filter has to have an IFileStore to inspect its relevant properties before deciding to filter it out or not.

    If I understand you correctly,  the idea of IVisibleResource is
    really a linked resource, is that correct?

IVisibleResource may not be the best name. I'm looking at IVisibleResource to serve non-global, application-specific needs. Currently IResource = IFileStore + metadata. IVisibleResource is stripped of the underlying one-to-one relationship with an IFileStore. It expreses logical parent/child relationships and contains an optional reference to an IResource or IResourceProxy that backs it.
This sounds like "groups" which we added to the core resource APIs (basically works the same way as a folder linked resource pointing to null), since they don't point to any IFileStore (and don't have any file system location).

They are used in the same way as Visual Studio 'filters' and CodeWarrior groups: to build the logical structure of the resources in a project.

You can read more about our contribution in the following blog entry:

And in the following bug:


Back to the top