@Override public long getLength(@NotNull VirtualFile file) { final FileInfo fileInfo = myFsCache.getInfo(file); return fileInfo != null ? fileInfo.length : DEFAULT_LENGTH; }
@Override public long getTimeStamp(@NotNull VirtualFile file) { final FileInfo fileInfo = myFsCache.getInfo(file); return fileInfo != null ? fileInfo.getTimestamp() : DEFAULT_TIMESTAMP; }
@Override public boolean isDirectory(@NotNull VirtualFile file) { final FileInfo fileInfo = myFsCache.getInfo(file); return fileInfo != null && isSet(fileInfo.attributes, FileInfo.FILE_ATTRIBUTE_DIRECTORY); }
@Override public boolean isWritable(@NotNull VirtualFile file) { final FileInfo fileInfo = myFsCache.getInfo(file); return fileInfo != null && notSet(fileInfo.attributes, FileInfo.FILE_ATTRIBUTE_READONLY); }
@Override public boolean exists(@NotNull VirtualFile fileOrDirectory) { if (fileOrDirectory.getParent() == null) return true; return myFsCache.getInfo(fileOrDirectory) != null; }