public final class RealFileSystem extends java.lang.Object implements FileSystem
| Modifier and Type | Field and Description |
|---|---|
private static boolean |
NEEDS_CONVERSION |
private boolean |
privileged |
private java.io.File |
realRoot |
| Constructor and Description |
|---|
RealFileSystem(java.io.File realRoot)
Construct a real filesystem with the given real root.
|
RealFileSystem(java.io.File realRoot,
boolean privileged)
Construct a real filesystem with the given real root.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Destroy this filesystem instance.
|
boolean |
delete(VirtualFile mountPoint,
VirtualFile target)
Attempt to delete a virtual file within this filesystem.
|
private static <T> T |
doIoPrivileged(java.security.PrivilegedExceptionAction<T> action) |
boolean |
exists(VirtualFile mountPoint,
VirtualFile target)
Ascertain the existance of a virtual file within this filesystem.
|
java.security.CodeSigner[] |
getCodeSigners(VirtualFile mountPoint,
VirtualFile target)
Get the
CodeSigners for a the virtual file. |
java.util.List<java.lang.String> |
getDirectoryEntries(VirtualFile mountPoint,
VirtualFile target)
Read a directory.
|
java.io.File |
getFile(VirtualFile mountPoint,
VirtualFile target)
Get a real
File for the given path within this filesystem. |
long |
getLastModified(VirtualFile mountPoint,
VirtualFile target)
Get the last modification time of a virtual file within this filesystem.
|
java.io.File |
getMountSource()
Get the
File source provided at mount time. |
java.net.URI |
getRootURI()
Get the root URI for this file system, or
null if there is no valid root URI. |
long |
getSize(VirtualFile mountPoint,
VirtualFile target)
Get the size of a virtual file within this filesystem.
|
boolean |
isDirectory(VirtualFile mountPoint,
VirtualFile target)
Ascertain whether a virtual file within this filesystem is a directory.
|
boolean |
isFile(VirtualFile mountPoint,
VirtualFile target)
Ascertain whether a virtual file within this filesystem is a plain file.
|
boolean |
isReadOnly()
Determine whether this filesystem is read-only.
|
java.io.InputStream |
openInputStream(VirtualFile mountPoint,
VirtualFile target)
Open an input stream for the file at the given relative path.
|
private static final boolean NEEDS_CONVERSION
private final java.io.File realRoot
private final boolean privileged
public RealFileSystem(java.io.File realRoot)
realRoot - the real rootpublic RealFileSystem(java.io.File realRoot,
boolean privileged)
realRoot - the real rootprivileged - true to check permissions once up front, false to check at access timeprivate static <T> T doIoPrivileged(java.security.PrivilegedExceptionAction<T> action)
throws java.io.IOException
java.io.IOExceptionpublic java.io.InputStream openInputStream(VirtualFile mountPoint, VirtualFile target) throws java.io.IOException
openInputStream in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act uponjava.io.IOException - if an I/O error occurspublic boolean isReadOnly()
FileSystem implementation).isReadOnly in interface FileSystemtrue if the filesystem is read-onlypublic java.io.File getFile(VirtualFile mountPoint, VirtualFile target)
File for the given path within this filesystem. Some filesystem types will need to make a copy
in order to return this file; such copies should be cached and retained until the filesystem is closed. Depending
on the file type, the real path of the returned File may or may not bear a relationship to the virtual
path provided; if such a relationship is required, it must be negotiated at the time the filesystem is mounted.getFile in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act uponpublic boolean delete(VirtualFile mountPoint, VirtualFile target)
delete in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act upontrue if the file was deleted, false if it failed for any reasonpublic long getSize(VirtualFile mountPoint, VirtualFile target)
getSize in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act uponpublic long getLastModified(VirtualFile mountPoint, VirtualFile target)
getLastModified in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act uponpublic boolean exists(VirtualFile mountPoint, VirtualFile target)
exists in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act upontrue if the file exists, false otherwisepublic boolean isFile(VirtualFile mountPoint, VirtualFile target)
isFile in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act upontrue if the file exists and is a plain file, false otherwisepublic boolean isDirectory(VirtualFile mountPoint, VirtualFile target)
isDirectory in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act upontrue if the file exists and is a directory, false otherwisepublic java.util.List<java.lang.String> getDirectoryEntries(VirtualFile mountPoint, VirtualFile target)
getDirectoryEntries in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act uponpublic java.security.CodeSigner[] getCodeSigners(VirtualFile mountPoint, VirtualFile target)
CodeSigners for a the virtual file.getCodeSigners in interface FileSystemmountPoint - the mount point of the filesystem instance (guaranteed to be a parent of target)target - the virtual file to act uponCodeSigner for the virtual file or null if not signed.public java.io.File getMountSource()
File source provided at mount time.getMountSource in interface FileSystempublic java.net.URI getRootURI()
throws java.net.URISyntaxException
FileSystemnull if there is no valid root URI.getRootURI in interface FileSystemjava.net.URISyntaxException - if the URI isn't validpublic void close()
throws java.io.IOException
IOExceptions.close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in interface FileSystemjava.io.IOException - if an I/O error occurs during close