@NotNull @Override public String[] list(@NotNull VirtualFile file) { if (isInvalidSymLink(file)) { return ArrayUtil.EMPTY_STRING_ARRAY; } return myFsCache.list(file.getPath()); }
@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 isWritable(@NotNull VirtualFile file) { final FileInfo fileInfo = myFsCache.getInfo(file); return fileInfo != null && notSet(fileInfo.attributes, FileInfo.FILE_ATTRIBUTE_READONLY); }
@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 exists(@NotNull VirtualFile fileOrDirectory) { if (fileOrDirectory.getParent() == null) return true; return myFsCache.getInfo(fileOrDirectory) != null; }
@Override public int getBooleanAttributes(@NotNull VirtualFile file, int flags) { return myFsCache.getBooleanAttributes(file, flags); }
@Override public FileAttributes getAttributes(@NotNull VirtualFile file) { return myFsCache.getAttributes(file); }
@NotNull @Override public String[] list(@NotNull VirtualFile file) { return myFsCache.list(file.getPath()); }