public final class PersistentFSImpl extends PersistentFS implements Disposable
PersistentFS.AttributesDisposable.ParentDEFAULT_LENGTH, DEFAULT_TIMESTAMP| Constructor and Description |
|---|
PersistentFSImpl() |
| Modifier and Type | Method and Description |
|---|---|
int |
acquireContent(VirtualFile file) |
boolean |
areChildrenLoaded(VirtualFile dir) |
void |
cleanPersistedContent(int id) |
void |
cleanPersistedContents() |
void |
clearIdCache() |
byte [] |
contentsToByteArray(int contentId) |
byte [] |
contentsToByteArray(VirtualFile file) |
byte [] |
contentsToByteArray(VirtualFile file,
boolean cacheContent) |
VirtualFile |
copyFile(java.lang.Object requestor,
VirtualFile file,
VirtualFile parent,
java.lang.String name) |
VirtualFile |
createChildDirectory(java.lang.Object requestor,
VirtualFile parent,
java.lang.String dir) |
VirtualFile |
createChildFile(java.lang.Object requestor,
VirtualFile parent,
java.lang.String file) |
void |
deleteFile(java.lang.Object requestor,
VirtualFile file) |
void |
dispose()
Usually not invoked directly, see class javadoc.
|
boolean |
exists(VirtualFile fileOrDirectory) |
NewVirtualFile |
findFileById(int id) |
NewVirtualFile |
findFileByIdIfCached(int id) |
VirtualFileSystemEntry |
findRoot(java.lang.String path,
NewVirtualFileSystem fs) |
VirtualFileSystemEntry |
getCachedDir(int id) |
byte [] |
getContentHashIfStored(VirtualFile file) |
long |
getCreationTimestamp() |
int |
getCurrentContentId(VirtualFile file) |
int |
getFileAttributes(int id) |
int |
getFilesystemModificationCount() |
int |
getId(VirtualFile parent,
java.lang.String childName,
NewVirtualFileSystem fs) |
java.io.InputStream |
getInputStream(VirtualFile file)
Does NOT strip the BOM from the beginning of the stream, unlike the
VirtualFile.getInputStream() |
long |
getLastRecordedLength(VirtualFile file) |
long |
getLength(VirtualFile file) |
VirtualFile [] |
getLocalRoots() |
int |
getModificationCount() |
int |
getModificationCount(VirtualFile file) |
java.lang.String |
getName(int id) |
VirtualFileSystemEntry |
getOrCacheDir(int id,
VirtualDirectoryImpl newDir) |
java.io.OutputStream |
getOutputStream(VirtualFile file,
java.lang.Object requestor,
long modStamp,
long timeStamp)
Does NOT add the BOM to the beginning of the stream, unlike the
VirtualFile.getOutputStream(Object) |
VirtualFile [] |
getRoots() |
VirtualFile [] |
getRoots(NewVirtualFileSystem fs) |
int |
getStructureModificationCount() |
long |
getTimeStamp(VirtualFile file) |
void |
incStructuralModificationCount() |
boolean |
isDirectory(VirtualFile file) |
boolean |
isHidden(VirtualFile file) |
boolean |
isSymLink(VirtualFile file) |
boolean |
isWritable(VirtualFile file) |
java.lang.String [] |
list(VirtualFile file) |
FSRecords.NameId [] |
listAll(VirtualFile file) |
java.lang.String [] |
listPersisted(VirtualFile parent) |
boolean |
mayHaveChildren(int id) |
void |
moveFile(java.lang.Object requestor,
VirtualFile file,
VirtualFile newParent) |
void |
processEvents(java.util.List<? extends VFileEvent> events) |
java.io.DataInputStream |
readAttribute(VirtualFile file,
FileAttribute att) |
void |
releaseContent(int contentId) |
void |
renameFile(java.lang.Object requestor,
VirtualFile file,
java.lang.String newName) |
java.lang.String |
resolveSymLink(VirtualFile file) |
void |
setTimeStamp(VirtualFile file,
long modStamp) |
void |
setWritable(VirtualFile file,
boolean writableFlag) |
int |
storeUnlinkedContent(byte [] bytes) |
java.lang.String |
toString() |
boolean |
wereChildrenAccessed(VirtualFile dir) |
java.io.DataOutputStream |
writeAttribute(VirtualFile file,
FileAttribute att) |
getInstance, isDirectory, isHidden, isSpecialFile, isSymLink, isWritable, replaceWithNativeFS, toFileAttributespublic void dispose()
Disposabledispose in interface Disposablepublic boolean areChildrenLoaded(VirtualFile dir)
areChildrenLoaded in class ManagingFSpublic long getCreationTimestamp()
getCreationTimestamp in class ManagingFSpublic VirtualFileSystemEntry getOrCacheDir(int id, VirtualDirectoryImpl newDir)
public VirtualFileSystemEntry getCachedDir(int id)
public boolean wereChildrenAccessed(VirtualFile dir)
wereChildrenAccessed in class ManagingFSpublic java.lang.String [] list(VirtualFile file)
list in interface FileSystemInterfacepublic java.lang.String [] listPersisted(VirtualFile parent)
listPersisted in class PersistentFSpublic FSRecords.NameId [] listAll(VirtualFile file)
listAll in class PersistentFSpublic java.io.DataInputStream readAttribute(VirtualFile file, FileAttribute att)
readAttribute in class ManagingFSpublic java.io.DataOutputStream writeAttribute(VirtualFile file, FileAttribute att)
writeAttribute in class ManagingFSpublic int storeUnlinkedContent(byte [] bytes)
storeUnlinkedContent in class PersistentFSpublic int getModificationCount(VirtualFile file)
getModificationCount in class ManagingFSpublic int getModificationCount()
getModificationCount in class ManagingFSManagingFS.getStructureModificationCount(),
ManagingFS.getFilesystemModificationCount()public int getStructureModificationCount()
getStructureModificationCount in class ManagingFSManagingFS.getModificationCount()public void incStructuralModificationCount()
public int getFilesystemModificationCount()
getFilesystemModificationCount in class ManagingFSManagingFS.getModificationCount(VirtualFile).
This number is persisted between IDE sessions and so it'll always increase. This method invocation means disk access, so it's not terribly cheap.public int getFileAttributes(int id)
getFileAttributes in class PersistentFSpublic boolean isDirectory(VirtualFile file)
isDirectory in interface FileSystemInterfacepublic boolean exists(VirtualFile fileOrDirectory)
exists in interface FileSystemInterfacepublic long getTimeStamp(VirtualFile file)
getTimeStamp in interface FileSystemInterfacepublic void setTimeStamp(VirtualFile file, long modStamp) throws java.io.IOException
setTimeStamp in interface FileSystemInterfacejava.io.IOExceptionpublic boolean isSymLink(VirtualFile file)
isSymLink in interface FileSystemInterfacepublic java.lang.String resolveSymLink(VirtualFile file)
resolveSymLink in interface FileSystemInterfacepublic boolean isWritable(VirtualFile file)
isWritable in interface FileSystemInterfacepublic boolean isHidden(VirtualFile file)
isHidden in class PersistentFSpublic void setWritable(VirtualFile file, boolean writableFlag) throws java.io.IOException
setWritable in interface FileSystemInterfacejava.io.IOExceptionpublic int getId(VirtualFile parent, java.lang.String childName, NewVirtualFileSystem fs)
getId in class PersistentFSpublic long getLength(VirtualFile file)
getLength in interface FileSystemInterfacepublic long getLastRecordedLength(VirtualFile file)
getLastRecordedLength in class PersistentFSpublic VirtualFile copyFile(java.lang.Object requestor, VirtualFile file, VirtualFile parent, java.lang.String name) throws java.io.IOException
copyFile in interface FileSystemInterfacejava.io.IOExceptionpublic VirtualFile createChildDirectory(java.lang.Object requestor, VirtualFile parent, java.lang.String dir) throws java.io.IOException
createChildDirectory in interface FileSystemInterfacejava.io.IOExceptionpublic VirtualFile createChildFile(java.lang.Object requestor, VirtualFile parent, java.lang.String file) throws java.io.IOException
createChildFile in interface FileSystemInterfacejava.io.IOExceptionpublic void deleteFile(java.lang.Object requestor,
VirtualFile file)
throws java.io.IOException
deleteFile in interface FileSystemInterfacejava.io.IOExceptionpublic void renameFile(java.lang.Object requestor,
VirtualFile file,
java.lang.String newName)
throws java.io.IOException
renameFile in interface FileSystemInterfacejava.io.IOExceptionpublic byte [] contentsToByteArray(VirtualFile file) throws java.io.IOException
contentsToByteArray in interface FileSystemInterfacejava.io.IOExceptionpublic byte [] contentsToByteArray(VirtualFile file, boolean cacheContent) throws java.io.IOException
contentsToByteArray in class PersistentFSjava.io.IOExceptionpublic byte [] contentsToByteArray(int contentId)
throws java.io.IOException
contentsToByteArray in class PersistentFSjava.io.IOExceptionpublic java.io.InputStream getInputStream(VirtualFile file) throws java.io.IOException
FileSystemInterfaceVirtualFile.getInputStream()getInputStream in interface FileSystemInterfacejava.io.IOExceptionpublic byte [] getContentHashIfStored(VirtualFile file)
public java.io.OutputStream getOutputStream(VirtualFile file, java.lang.Object requestor, long modStamp, long timeStamp)
FileSystemInterfaceVirtualFile.getOutputStream(Object)getOutputStream in interface FileSystemInterfacepublic int acquireContent(VirtualFile file)
acquireContent in class PersistentFSpublic void releaseContent(int contentId)
releaseContent in class PersistentFSpublic int getCurrentContentId(VirtualFile file)
getCurrentContentId in class PersistentFSpublic void moveFile(java.lang.Object requestor,
VirtualFile file,
VirtualFile newParent)
throws java.io.IOException
moveFile in interface FileSystemInterfacejava.io.IOExceptionpublic void processEvents(java.util.List<? extends VFileEvent> events)
processEvents in class PersistentFSpublic VirtualFileSystemEntry findRoot(java.lang.String path, NewVirtualFileSystem fs)
findRoot in class ManagingFSpublic void clearIdCache()
clearIdCache in class PersistentFSpublic NewVirtualFile findFileById(int id)
findFileById in class ManagingFSpublic NewVirtualFile findFileByIdIfCached(int id)
findFileByIdIfCached in class PersistentFSpublic VirtualFile [] getRoots()
getRoots in class ManagingFSpublic VirtualFile [] getRoots(NewVirtualFileSystem fs)
getRoots in class ManagingFSpublic VirtualFile [] getLocalRoots()
getLocalRoots in class ManagingFSpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getName(int id)
getName in class PersistentFSpublic void cleanPersistedContent(int id)
public void cleanPersistedContents()
public boolean mayHaveChildren(int id)
mayHaveChildren in class PersistentFS