package org.argeo.jcr.fs; 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; import javax.jcr.Session; import org.argeo.jcr.JcrUtils; public class JcrFileSystem extends FileSystem { private final JcrFileSystemProvider provider; private final Session session; public JcrFileSystem(JcrFileSystemProvider provider, Session session) { super(); this.provider = provider; this.session = session; } @Override public FileSystemProvider provider() { return provider; } @Override public void close() throws IOException { JcrUtils.logoutQuietly(session); } @Override public boolean isOpen() { return session.isLive(); } @Override public boolean isReadOnly() { return false; } @Override public String getSeparator() { return "/"; } @Override public Iterable getRootDirectories() { return null; } @Override public Iterable getFileStores() { // TODO Auto-generated method stub return null; } @Override public Set supportedFileAttributeViews() { // TODO Auto-generated method stub return null; } @Override public Path getPath(String first, String... more) { // TODO Auto-generated method stub return null; } @Override public PathMatcher getPathMatcher(String syntaxAndPattern) { // TODO Auto-generated method stub return null; } @Override public UserPrincipalLookupService getUserPrincipalLookupService() { // TODO Auto-generated method stub return null; } @Override public WatchService newWatchService() throws IOException { // TODO Auto-generated method stub return null; } public Session getSession() { return session; } }