public class ShrinkWrapFileSystemProvider
extends java.nio.file.spi.FileSystemProvider
FileSystemProvider
implementation for ShrinkWrap Archive
s.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.FileSystemProvider
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.newFileSystem(java.net.URI, java.util.Map)
public java.nio.file.FileSystem getFileSystem(java.net.URI uri)
getFileSystem
in class java.nio.file.spi.FileSystemProvider
FileSystemProvider.getFileSystem(java.net.URI)
public java.nio.file.Path getPath(java.net.URI uri)
getPath
in class java.nio.file.spi.FileSystemProvider
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
public 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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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.FileSystemProvider
java.io.IOException
FileSystemProvider.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 SeekableByteChannel
in
- out
- java.io.IOException