public abstract class BufferFileSystemProvider extends FileSystemProviderImpl
  This BufferFileSystem concentrates on storing directories created with
  FileSystemProviderImpl.createDirectory(Path, FileAttribute[]) and files created by
  FileSystemProviderImpl.newByteChannel(Path, Set, FileAttribute[]) which automatically
  creates all parent directories of that file.
  The implementation of FileSystemProviderImpl.newByteChannel(Path, Set, FileAttribute...)
  defines what kind of Buffer is stored in each file. See the implementation
  of ByteBufferFileSystemProvider which uses ByteBuffers.
  
  This BufferFileSystem exclusively uses PathImpl objects which can be
  created by calling FileSystemProviderImpl.getPath(URI) OR by calling getFileSystem()
  first and then calling FileSystem.getPath(String, String[]) next.
  PathImpl's can be freely created, but to create actual directories and files in this
  BufferFileSystem, FileSystemProviderImpl.createDirectory(Path, FileAttribute[]) and
  FileSystemProviderImpl.newByteChannel(Path, Set, FileAttribute[]) need to be used.
  
Files and directories are held onto until they are deleted or the FileSystem of this provider is closed or this provider is garbage collected.
Access to the file system is not synchronized.
ByteBufferFileSystemProviderfileSystem, scheme| Constructor and Description | 
|---|
BufferFileSystemProvider(java.lang.String scheme)
Create a new provider that can create a BufferFileSystem. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected java.nio.Buffer | 
getBuffer(PathImpl path)
Get the buffer associated with the PathImpl. 
 | 
BufferFileSystem | 
getFileSystem()
Get the BufferFileSystem associated with this provider. 
 | 
BufferFileSystem | 
getFileSystem(java.net.URI uri) | 
BufferFileSystem | 
newFileSystem(java.nio.file.Path path,
             java.util.Map<java.lang.String,?> env) | 
BufferFileSystem | 
newFileSystem(java.net.URI uri,
             java.util.Map<java.lang.String,?> env) | 
protected java.nio.Buffer | 
putBuffer(PathImpl path,
         java.nio.Buffer buffer)
Put a buffer that will be asscoiated with the PathImpl. 
 | 
checkAccess, checkURI, copy, createDirectory, delete, getFileAttributeView, getFileStore, getPath, getScheme, isHidden, isSameFile, move, newByteChannel, newByteChannelImpl, newDirectoryStream, readAttributes, readAttributes, setAttributepublic BufferFileSystemProvider(java.lang.String scheme)
scheme - The scheme for the FileSystemjava.lang.IllegalArgumentException - if scheme is null or emptypublic BufferFileSystem getFileSystem()
getFileSystem in class FileSystemProviderImplprotected java.nio.Buffer getBuffer(PathImpl path)
path - A PathImplprotected java.nio.Buffer putBuffer(PathImpl path, java.nio.Buffer buffer) throws java.io.IOException
path - A PathImplbuffer - The new Bufferjava.io.IOExceptionpublic BufferFileSystem newFileSystem(java.net.URI uri, java.util.Map<java.lang.String,?> env) throws java.io.IOException
newFileSystem in class java.nio.file.spi.FileSystemProviderjava.lang.IllegalArgumentException - if uri is null or if the scheme of the uri is not
 the same as the scheme associated with this FileSystemProviderjava.io.IOExceptionpublic BufferFileSystem newFileSystem(java.nio.file.Path path, java.util.Map<java.lang.String,?> env) throws java.io.IOException
newFileSystem in class java.nio.file.spi.FileSystemProviderjava.lang.UnsupportedOperationException - Path is not a PathImpljava.io.IOExceptionpublic BufferFileSystem getFileSystem(java.net.URI uri)
getFileSystem in class java.nio.file.spi.FileSystemProviderjava.lang.IllegalArgumentException - if uri is null or if the scheme of the uri is not
 the same as the scheme associated with this FileSystemProvider