Package org.eclipse.cdt.utils
Class EFSExtensionManager
java.lang.Object
org.eclipse.cdt.utils.EFSExtensionManager
Manager class that consults contributors to the EFSExtensionProvider extension point
to perform operations corresponding to those filesystems. The default behaviour if no provider is present
is to assumes that URIs for the given filesystem map directly to resources in the physical filesystem, and
that the path component of the URI is a direct representation of the absolute path to the file in the
physical filesystem. Also, operations will by default respect the syntax and semantics of the local EFS
filesystem, if operations are performed with respect to it.
EXPERIMENTAL. This class or interface has been added as part of a work in progress. There
is no guarantee that this API will work or that it will remain the same. Please do not use this API without
consulting with the CDT team.
- Since:
- 5.2
- Restriction:
- This class is not intended to be extended by clients.
-
Method Summary
Modifier and TypeMethodDescriptionCreates a new URI with the same components as the baseURI, except that calling getPathFromURI() on the new URI will return a path that has the extension appended to the path returned by baseURI.getPathFromURI()createNewURIFromPath
(URI locationOnSameFilesystem, String path) Creates a new URI which clones the contents of the original URI, but with the path replaced by the given path, such that calling getPathFromURI() on the returned URI will return the given path.static EFSExtensionManager
getLinkedURI
(URI locationURI) In the case of a virtual filesystem, where URIs in the given filesystem are just soft links in EFS to URIs in other filesystems, returns the URI that this URI links to.getMappedPath
(URI locationURI) For filesystems that map the path to a physical file in one filesystem (say on a remote machine) to another path (say, on the local machine), this method returns the path that the store maps to.getPathFromURI
(URI locationURI) If the EFS store represented by locationURI is backed by a physical file, gets the path corresponding to the underlying file.boolean
Returns true if the given URI is part of a virtual filesystem and thus points to another underlying URI.
-
Method Details
-
getDefault
-
getPathFromURI
If the EFS store represented by locationURI is backed by a physical file, gets the path corresponding to the underlying file. The path returned is suitable for use in constructing aPath
object. This method will return the corresponding path regardless of whether or not the EFS store actually exists.- Parameters:
locationURI
-- Returns:
- String representing the path, or
null
if there is an error or if the store is not backed by a physical file.
-
getLinkedURI
In the case of a virtual filesystem, where URIs in the given filesystem are just soft links in EFS to URIs in other filesystems, returns the URI that this URI links to. If the filesystem is not virtual, then this method acts as an identity mapping.- Parameters:
locationURI
-- Returns:
- A URI corresponding to the linked store, or
null
on error.
-
createNewURIFromPath
Creates a new URI which clones the contents of the original URI, but with the path replaced by the given path, such that calling getPathFromURI() on the returned URI will return the given path. Returns null on error.- Parameters:
locationOnSameFilesystem
-path
-- Returns:
- the new URI, or
null
on error
-
getMappedPath
For filesystems that map the path to a physical file in one filesystem (say on a remote machine) to another path (say, on the local machine), this method returns the path that the store maps to. I.e., it returns the path that the path returned by getPathFromURI(URI locationURI) maps to. If there is no such mapping, then an identity mapping of the paths is assumed. Typically if a filesystem maps one filesytem to another, it will place the mapped path in the path field of its URIs (which the default implementation assumes), but this is not guaranteed to be so for all filesystem implementations.- Returns:
- String representing the path, or
null
on error.
-
isVirtual
Returns true if the given URI is part of a virtual filesystem and thus points to another underlying URI. Returns false otherwise. By default, filesystems are assumed to be non-virtual.- Parameters:
locationURI
-- Returns:
- boolean
-
append
Creates a new URI with the same components as the baseURI, except that calling getPathFromURI() on the new URI will return a path that has the extension appended to the path returned by baseURI.getPathFromURI()- Parameters:
baseURI
-extension
-- Returns:
- the new URI, or
null
on error.
-