public class ShrinkWrapFileSystemProvider
extends java.nio.file.spi.FileSystemProvider
FileSystemProvider implementation for ShrinkWrap Archives.| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.ConcurrentMap<java.lang.String,ShrinkWrapFileSystem> |
createdFileSystems
Open file systems, keyed by the
Archive.getId() |
private java.util.concurrent.locks.ReentrantLock |
createNewFsLock
Lock for creation of a new filesystem and other tasks which should block until this op has completed
|
private static java.lang.String |
ENV_KEY_ARCHIVE
Environment key for creating a new
FileSystem denoting the archive |
private static java.util.logging.Logger |
log
Logger
|
private static java.lang.String |
SCHEME
Scheme
|
| Constructor and Description |
|---|
ShrinkWrapFileSystemProvider() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkAccess(java.nio.file.Path path,
java.nio.file.AccessMode... modes) |
private void |
copy(java.io.InputStream in,
java.nio.channels.SeekableByteChannel out)
Writes the contents of the
InputStream to the SeekableByteChannel |
void |
copy(java.nio.file.Path source,
java.nio.file.Path target,
java.nio.file.CopyOption... options) |
void |
createDirectory(java.nio.file.Path dir,
java.nio.file.attribute.FileAttribute<?>... attrs) |
void |
delete(java.nio.file.Path path) |
private Archive<?> |
getArchive(java.nio.file.Path path)
Obtains the underlying archive associated with the specified Path
|
<V extends java.nio.file.attribute.FileAttributeView> |
getFileAttributeView(java.nio.file.Path path,
java.lang.Class<V> type,
java.nio.file.LinkOption... options) |
java.nio.file.FileStore |
getFileStore(java.nio.file.Path path) |
java.nio.file.FileSystem |
getFileSystem(java.net.URI uri) |
java.nio.file.Path |
getPath(java.net.URI uri) |
java.lang.String |
getScheme() |
boolean |
isHidden(java.nio.file.Path path) |
boolean |
isSameFile(java.nio.file.Path path1,
java.nio.file.Path path2) |
void |
move(java.nio.file.Path source,
java.nio.file.Path target,
java.nio.file.CopyOption... options) |
java.nio.channels.SeekableByteChannel |
newByteChannel(java.nio.file.Path path,
java.util.Set<? extends java.nio.file.OpenOption> options,
java.nio.file.attribute.FileAttribute<?>... attrs) |
java.nio.file.DirectoryStream<java.nio.file.Path> |
newDirectoryStream(java.nio.file.Path dir,
java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path> filter) |
java.nio.channels.FileChannel |
newFileChannel(java.nio.file.Path path,
java.util.Set<? extends java.nio.file.OpenOption> options,
java.nio.file.attribute.FileAttribute<?>... attrs) |
java.nio.file.FileSystem |
newFileSystem(java.net.URI uri,
java.util.Map<java.lang.String,?> env) |
<A extends java.nio.file.attribute.BasicFileAttributes> |
readAttributes(java.nio.file.Path path,
java.lang.Class<A> type,
java.nio.file.LinkOption... options) |
java.util.Map<java.lang.String,java.lang.Object> |
readAttributes(java.nio.file.Path path,
java.lang.String attributes,
java.nio.file.LinkOption... options) |
void |
setAttribute(java.nio.file.Path path,
java.lang.String attribute,
java.lang.Object value,
java.nio.file.LinkOption... options) |
private static final java.util.logging.Logger log
private static final java.lang.String SCHEME
private static final java.lang.String ENV_KEY_ARCHIVE
FileSystem denoting the archiveprivate final java.util.concurrent.ConcurrentMap<java.lang.String,ShrinkWrapFileSystem> createdFileSystems
Archive.getId()private final java.util.concurrent.locks.ReentrantLock createNewFsLock
public java.lang.String getScheme()
getScheme in class java.nio.file.spi.FileSystemProviderFileSystemProvider.getScheme()public java.nio.file.FileSystem newFileSystem(java.net.URI uri,
java.util.Map<java.lang.String,?> env)
throws java.io.IOException
newFileSystem in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.newFileSystem(java.net.URI, java.util.Map)public java.nio.file.FileSystem getFileSystem(java.net.URI uri)
getFileSystem in class java.nio.file.spi.FileSystemProviderFileSystemProvider.getFileSystem(java.net.URI)public java.nio.file.Path getPath(java.net.URI uri)
getPath in class java.nio.file.spi.FileSystemProviderFileSystemProvider.getPath(java.net.URI)public java.nio.channels.FileChannel newFileChannel(java.nio.file.Path path,
java.util.Set<? extends java.nio.file.OpenOption> options,
java.nio.file.attribute.FileAttribute<?>... attrs)
throws java.io.IOException
newFileChannel in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.newFileChannel(java.nio.file.Path, java.util.Set,
java.nio.file.attribute.FileAttribute<?>[])public java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path path,
java.util.Set<? extends java.nio.file.OpenOption> options,
java.nio.file.attribute.FileAttribute<?>... attrs)
throws java.io.IOException
newByteChannel in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.newByteChannel(java.nio.file.Path, java.util.Set,
java.nio.file.attribute.FileAttribute<?>[])public java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path dir,
java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path> filter)
throws java.io.IOException
newDirectoryStream in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.newDirectoryStream(java.nio.file.Path,
java.nio.file.DirectoryStream.Filter)public void createDirectory(java.nio.file.Path dir,
java.nio.file.attribute.FileAttribute<?>... attrs)
throws java.io.IOException
createDirectory in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.createDirectory(java.nio.file.Path,
java.nio.file.attribute.FileAttribute<?>[])public void delete(java.nio.file.Path path)
throws java.io.IOException
delete in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.delete(java.nio.file.Path)private Archive<?> getArchive(java.nio.file.Path path)
path - public void copy(java.nio.file.Path source,
java.nio.file.Path target,
java.nio.file.CopyOption... options)
throws java.io.IOException
copy in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionpublic void move(java.nio.file.Path source,
java.nio.file.Path target,
java.nio.file.CopyOption... options)
throws java.io.IOException
move in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.move(java.nio.file.Path, java.nio.file.Path,
java.nio.file.CopyOption[])public boolean isSameFile(java.nio.file.Path path1,
java.nio.file.Path path2)
throws java.io.IOException
isSameFile in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.isSameFile(java.nio.file.Path, java.nio.file.Path)public boolean isHidden(java.nio.file.Path path)
throws java.io.IOException
isHidden in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.isHidden(java.nio.file.Path)public java.nio.file.FileStore getFileStore(java.nio.file.Path path)
throws java.io.IOException
getFileStore in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.getFileStore(java.nio.file.Path)public void checkAccess(java.nio.file.Path path,
java.nio.file.AccessMode... modes)
throws java.io.IOException
checkAccess in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.checkAccess(java.nio.file.Path, java.nio.file.AccessMode[])public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path path,
java.lang.Class<V> type,
java.nio.file.LinkOption... options)
getFileAttributeView in class java.nio.file.spi.FileSystemProviderFileSystemProvider.getFileAttributeView(java.nio.file.Path, java.lang.Class,
java.nio.file.LinkOption[])public <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path path,
java.lang.Class<A> type,
java.nio.file.LinkOption... options)
throws java.io.IOException
readAttributes in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.readAttributes(java.nio.file.Path, java.lang.Class,
java.nio.file.LinkOption[])public java.util.Map<java.lang.String,java.lang.Object> readAttributes(java.nio.file.Path path,
java.lang.String attributes,
java.nio.file.LinkOption... options)
throws java.io.IOException
readAttributes in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.readAttributes(java.nio.file.Path, java.lang.String,
java.nio.file.LinkOption[])public void setAttribute(java.nio.file.Path path,
java.lang.String attribute,
java.lang.Object value,
java.nio.file.LinkOption... options)
throws java.io.IOException
setAttribute in class java.nio.file.spi.FileSystemProviderjava.io.IOExceptionFileSystemProvider.setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object,
java.nio.file.LinkOption[])private void copy(java.io.InputStream in,
java.nio.channels.SeekableByteChannel out)
throws java.io.IOException
InputStream to the SeekableByteChannelin - out - java.io.IOException