package co.paralleluniverse.filesystem;
import java.io.IOException;
import java.nio.file.FileStore;
import java.nio.file.FileSystem;
import java.nio.file.Path;
import java.nio.file.PathMatcher;
import java.nio.file.WatchService;
import java.nio.file.attribute.UserPrincipalLookupService;
import java.nio.file.spi.FileSystemProvider;
import java.util.Set;
public abstract class FileSystemAdapter extends FileSystem {
private final FileSystem fs;
private final FileSystemProvider fsp;
protected FileSystemAdapter(FileSystem fs, FileSystemProvider fsp) {
this.fs = fs;
this.fsp = fsp;
}
// protected FileSystemAdapter(FileSystem fs) {
// this.fs = fs;
// this.fsp = wrapFileSystemProvider(fs.provider());
// }
// protected FileSystemProvider wrapFileSystemProvider(FileSystemProvider fsp) {
// return fsp;
// }
@Override
public String toString() {
return fs.toString();
}
@Override
public FileSystemProvider provider() {
return fsp;
}
@Override
public void close() throws IOException {
fs.close();
}
@Override
public boolean isOpen() {
return fs.isOpen();
}
@Override
public boolean isReadOnly() {
return fs.isReadOnly();
}
@Override
public String getSeparator() {
return fs.getSeparator();
}
@Override
public Iterable<Path> getRootDirectories() {
return fs.getRootDirectories();
}
@Override
public Iterable<FileStore> getFileStores() {
return fs.getFileStores();
}
@Override
public Set<String> supportedFileAttributeViews() {
return fs.supportedFileAttributeViews();
}
@Override
public Path getPath(String first, String... more) {
return fs.getPath(first, more);
}
@Override
public PathMatcher getPathMatcher(String syntaxAndPattern) {
return fs.getPathMatcher(syntaxAndPattern);
}
@Override
public UserPrincipalLookupService getUserPrincipalLookupService() {
return fs.getUserPrincipalLookupService();
}
@Override
public WatchService newWatchService() throws IOException {
return fs.newWatchService();
}
}