Package org.apache.sshd.common.file.root
Class RootedFileSystemProvider
- java.lang.Object
-
- java.nio.file.spi.FileSystemProvider
-
- org.apache.sshd.common.file.root.RootedFileSystemProvider
-
public class RootedFileSystemProvider extends FileSystemProvider
File system provider which provides a rooted file system. The file system only gives access to files under the root directory.- Author:
- Apache MINA SSHD Project
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Loggerlog
-
Constructor Summary
Constructors Constructor Description RootedFileSystemProvider()
-
Method Summary
-
Methods inherited from class java.nio.file.spi.FileSystemProvider
installedProviders
-
-
-
-
Method Detail
-
getScheme
public String getScheme()
- Specified by:
getSchemein classFileSystemProvider
-
newFileSystem
public FileSystem newFileSystem(URI uri, Map<String,?> env) throws IOException
- Specified by:
newFileSystemin classFileSystemProvider- Throws:
IOException
-
getFileSystem
public FileSystem getFileSystem(URI uri)
- Specified by:
getFileSystemin classFileSystemProvider
-
newFileSystem
public FileSystem newFileSystem(Path path, Map<String,?> env) throws IOException
- Overrides:
newFileSystemin classFileSystemProvider- Throws:
IOException
-
newFileSystem
protected FileSystem newFileSystem(Object src, Path path, Map<String,?> env) throws IOException
- Throws:
IOException
-
getPath
public Path getPath(URI uri)
- Specified by:
getPathin classFileSystemProvider
-
newInputStream
public InputStream newInputStream(Path path, OpenOption... options) throws IOException
- Overrides:
newInputStreamin classFileSystemProvider- Throws:
IOException
-
newOutputStream
public OutputStream newOutputStream(Path path, OpenOption... options) throws IOException
- Overrides:
newOutputStreamin classFileSystemProvider- Throws:
IOException
-
newFileChannel
public FileChannel newFileChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
- Overrides:
newFileChannelin classFileSystemProvider- Throws:
IOException
-
newAsynchronousFileChannel
public AsynchronousFileChannel newAsynchronousFileChannel(Path path, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs) throws IOException
- Overrides:
newAsynchronousFileChannelin classFileSystemProvider- Throws:
IOException
-
newByteChannel
public SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
- Specified by:
newByteChannelin classFileSystemProvider- Throws:
IOException
-
newDirectoryStream
public DirectoryStream<Path> newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter) throws IOException
- Specified by:
newDirectoryStreamin classFileSystemProvider- Throws:
IOException
-
root
protected DirectoryStream<Path> root(RootedFileSystem rfs, DirectoryStream<Path> ds)
-
root
protected Iterator<Path> root(RootedFileSystem rfs, Iterator<Path> iter)
-
createDirectory
public void createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException
- Specified by:
createDirectoryin classFileSystemProvider- Throws:
IOException
-
createSymbolicLink
public void createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs) throws IOException
- Overrides:
createSymbolicLinkin classFileSystemProvider- Throws:
IOException
-
createLink
public void createLink(Path link, Path existing) throws IOException
- Overrides:
createLinkin classFileSystemProvider- Throws:
IOException
-
createLink
protected void createLink(Path link, Path target, boolean symLink, FileAttribute<?>... attrs) throws IOException
- Throws:
IOException
-
delete
public void delete(Path path) throws IOException
- Specified by:
deletein classFileSystemProvider- Throws:
IOException
-
deleteIfExists
public boolean deleteIfExists(Path path) throws IOException
- Overrides:
deleteIfExistsin classFileSystemProvider- Throws:
IOException
-
readSymbolicLink
public Path readSymbolicLink(Path link) throws IOException
- Overrides:
readSymbolicLinkin classFileSystemProvider- Throws:
IOException
-
copy
public void copy(Path source, Path target, CopyOption... options) throws IOException
- Specified by:
copyin classFileSystemProvider- Throws:
IOException
-
move
public void move(Path source, Path target, CopyOption... options) throws IOException
- Specified by:
movein classFileSystemProvider- Throws:
IOException
-
isSameFile
public boolean isSameFile(Path path, Path path2) throws IOException
- Specified by:
isSameFilein classFileSystemProvider- Throws:
IOException
-
isHidden
public boolean isHidden(Path path) throws IOException
- Specified by:
isHiddenin classFileSystemProvider- Throws:
IOException
-
getFileStore
public FileStore getFileStore(Path path) throws IOException
- Specified by:
getFileStorein classFileSystemProvider- Throws:
IOException
-
getFileSystem
protected RootedFileSystem getFileSystem(Path path) throws FileSystemNotFoundException
- Throws:
FileSystemNotFoundException
-
checkAccess
public void checkAccess(Path path, AccessMode... modes) throws IOException
- Specified by:
checkAccessin classFileSystemProvider- Throws:
IOException
-
getFileAttributeView
public <V extends FileAttributeView> V getFileAttributeView(Path path, Class<V> type, LinkOption... options)
- Specified by:
getFileAttributeViewin classFileSystemProvider
-
readAttributes
public <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException
- Specified by:
readAttributesin classFileSystemProvider- Throws:
IOException
-
readAttributes
public Map<String,Object> readAttributes(Path path, String attributes, LinkOption... options) throws IOException
- Specified by:
readAttributesin classFileSystemProvider- Throws:
IOException
-
setAttribute
public void setAttribute(Path path, String attribute, Object value, LinkOption... options) throws IOException
- Specified by:
setAttributein classFileSystemProvider- Throws:
IOException
-
provider
protected FileSystemProvider provider(Path path)
-
root
protected Path root(RootedFileSystem rfs, Path nat)
-
unroot
protected Path unroot(Path path)
- Parameters:
path- The original (rooted)Path- Returns:
- The actual absolute local
Pathrepresented by the rooted one - Throws:
IllegalArgumentException- ifnullpath argumentProviderMismatchException- if not aRootedPath- See Also:
resolveLocalPath(RootedPath)
-
resolveLocalPath
protected Path resolveLocalPath(RootedPath path)
- Parameters:
path- The originalRootedPath- nevernull- Returns:
- The actual absolute local
Pathrepresented by the rooted one - Throws:
InvalidPathException- If the resolved path is not a proper sub-path of the rooted file system
-
-