public class JrtFileSystemImpl extends JrtFileSystem
PROTOCOL, PROTOCOL_PREFIX, SEPARATORDEFAULT_LENGTH, DEFAULT_TIMESTAMP| Constructor and Description | 
|---|
JrtFileSystemImpl()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected java.lang.String | 
composeRootPath(java.lang.String localPath)
A reverse to  
ArchiveFileSystem.extractLocalPath(String) - i.e. | 
protected java.lang.String | 
extractLocalPath(java.lang.String rootPath)
Strips any separator chars from a root (obtained via  
VfsUtilCore.getRootFile(com.intellij.openapi.vfs.VirtualFile) path to obtain a path to a local file. | 
protected java.lang.String | 
extractRootPath(java.lang.String normalizedPath)
IntelliJ platform calls this method with non-null value returned by  
NewVirtualFileSystem.normalize(java.lang.String), but if something went wrong
 and an implementation can't extract a valid root path nevertheless, it should return an empty string. | 
VirtualFile | 
findFileByPath(java.lang.String path)
Searches for the file specified by given path. 
 | 
VirtualFile | 
findFileByPathIfCached(java.lang.String path)  | 
FileAttributes | 
getAttributes(VirtualFile file)
Reads various file attributes in one shot (to reduce the number of native I/O calls). 
 | 
protected ArchiveHandler | 
getHandler(VirtualFile entryFile)  | 
java.lang.String | 
getProtocol()
Gets the protocol for this file system. 
 | 
protected boolean | 
isCorrectFileType(VirtualFile local)
Implementations should return  
false if the given file may not host this file system. | 
java.lang.String [] | 
list(VirtualFile file)  | 
protected java.lang.String | 
normalize(java.lang.String path)
Implementations should convert separator chars to forward slashes and remove duplicates ones,
 and convert paths to "absolute" form (so that they start from a root that is valid for this FS and
 could be later extracted with  
NewVirtualFileSystem.extractRootPath(java.lang.String)). | 
void | 
refresh(boolean asynchronous)
Refreshes the cached information for all files in this file system from the physical file system. 
 | 
VirtualFile | 
refreshAndFindFileByPath(java.lang.String path)
Refreshes only the part of the file system needed for searching the file by the given path and finds file
 by the given path. 
This method is useful when the file was created externally and you need to find 
 corresponding to it. | 
isModuleRoot, isRootcontentsToByteArray, copyFile, createChildDirectory, createChildFile, deleteFile, exists, findLocalByRootPath, getInputStream, getLength, getLocalByEntry, getOutputStream, getRank, getRelativePath, getRootByEntry, getRootByLocal, getRootPathByLocal, getTimeStamp, isDirectory, isWritable, moveFile, renameFile, setTimeStamp, setWritableaddVirtualFileListener, getCanonicallyCasedName, hasChildren, isReadOnly, isSymLink, markNewFilesAsDirty, refreshWithoutFileWatcher, removeVirtualFileListener, resolveSymLinkextractPresentableUrl, isCaseSensitive, isValidNamepublic FileAttributes getAttributes(VirtualFile file)
NewVirtualFileSystemgetAttributes in class ArchiveFileSystemfile - file to get attributes of.null if the file doesn't exist.public java.lang.String [] list(VirtualFile file)
list in interface FileSystemInterfacelist in class ArchiveFileSystempublic java.lang.String getProtocol()
VirtualFileSystemKeyedLazyInstanceEP.key.getProtocol in class VirtualFileSystemVirtualFile.getUrl(), 
VirtualFileManager.getFileSystem(java.lang.String)protected java.lang.String normalize(java.lang.String path)
NewVirtualFileSystemImplementations should convert separator chars to forward slashes and remove duplicates ones,
 and convert paths to "absolute" form (so that they start from a root that is valid for this FS and
 could be later extracted with NewVirtualFileSystem.extractRootPath(java.lang.String)).
Implementations should not normalize paths by eliminating directory traversals or other indirections.
normalize in class NewVirtualFileSystemnull when a path is invalid for this FS.protected java.lang.String extractLocalPath(java.lang.String rootPath)
ArchiveFileSystemVfsUtilCore.getRootFile(com.intellij.openapi.vfs.VirtualFile) path to obtain a path to a local file.extractLocalPath in class ArchiveFileSystemprotected java.lang.String composeRootPath(java.lang.String localPath)
ArchiveFileSystemArchiveFileSystem.extractLocalPath(String) - i.e. dresses a local file path to make it a suitable root path for this filesystem.
 E.g. "/x/y.jar" -> "/x/y.jar!/"composeRootPath in class ArchiveFileSystemprotected java.lang.String extractRootPath(java.lang.String normalizedPath)
NewVirtualFileSystemNewVirtualFileSystem.normalize(java.lang.String), but if something went wrong
 and an implementation can't extract a valid root path nevertheless, it should return an empty string.extractRootPath in class NewVirtualFileSystemprotected ArchiveHandler getHandler(VirtualFile entryFile)
getHandler in class ArchiveFileSystempublic VirtualFile findFileByPath(java.lang.String path)
VirtualFileSystemVirtualFileSystem. Format of the path depends on the concrete file system.
 For LocalFileSystem it is an absolute path (both Unix- and Windows-style separator chars are allowed).findFileByPath in class VirtualFileSystempath - the path to find file bynull otherwisepublic VirtualFile findFileByPathIfCached(java.lang.String path)
findFileByPathIfCached in class NewVirtualFileSystempublic VirtualFile refreshAndFindFileByPath(java.lang.String path)
VirtualFileSystemVirtualFile
 corresponding to it.If this method is invoked not from Swing event dispatch thread, then it must not happen inside a read action. The reason is that then the method call won't return until proper VFS events are fired, which happens on Swing thread and in write action. So invoking this method in a read action would result in a deadlock.
refreshAndFindFileByPath in class VirtualFileSystempath - the pathVirtualFile if the file was found, null otherwisepublic void refresh(boolean asynchronous)
VirtualFileSystemIf
asynchronous is false this method should be only called within write-action.
 See Application.runWriteAction(java.lang.Runnable).refresh in class VirtualFileSystemasynchronous - if true then the operation will be performed in a separate thread,
                     otherwise will be performed immediatelyVirtualFile.refresh(boolean, boolean), 
VirtualFileManager.syncRefresh(), 
VirtualFileManager.asyncRefresh(java.lang.Runnable)protected boolean isCorrectFileType(VirtualFile local)
ArchiveFileSystemfalse if the given file may not host this file system.isCorrectFileType in class ArchiveFileSystem