@Override public FileObject createFileSystem( String scheme, FileObject file, FileSystemOptions fileSystemOptions ) throws FileSystemException { ClassLoader cl = Thread.currentThread().getContextClassLoader(); FileProvider p = fsm.getActiveFileProvider( scheme ); Thread.currentThread().setContextClassLoader( p.getClass().getClassLoader() ); try { return p.createFileSystem( scheme, file, fileSystemOptions ); } finally { Thread.currentThread().setContextClassLoader( cl ); } }
@Override public FileObject findFile( FileObject baseFile, String uri, FileSystemOptions fileSystemOptions ) throws FileSystemException { ClassLoader cl = Thread.currentThread().getContextClassLoader(); FileProvider p = fsm.getActiveFileProvider( scheme ); Thread.currentThread().setContextClassLoader( p.getClass().getClassLoader() ); try { return p.findFile( baseFile, uri, fileSystemOptions ); } finally { Thread.currentThread().setContextClassLoader( cl ); } }
@SuppressWarnings( "unchecked" ) @Override public Collection<Capability> getCapabilities() { try { return fsm.getActiveFileProvider( scheme ).getCapabilities(); } catch ( FileSystemException e ) { return Collections.emptyList(); } }
@Override public FileName parseUri( FileName root, String uri ) throws FileSystemException { return fsm.getActiveFileProvider( scheme ).parseUri( root, uri ); }
@Override public FileSystemConfigBuilder getConfigBuilder() { try { return fsm.getActiveFileProvider( scheme ).getConfigBuilder(); } catch ( FileSystemException e ) { return null; } }
provider.parseUri(realBase, fullPath): provider.parseChildUri(realBase, fullPath); defaultProvider.parseUri(realBase, fullPath): defaultProvider.parseChildUri(realBase, fullPath);
return provider.findOrCreateFileSystem(uri, fileSystemOptions, cachedOnly); throw new FileSystemException("vfs.impl/unknown-scheme.error", scheme, uri); return defaultProvider.findOrCreateFileSystem(uri, fileSystemOptions, cachedOnly);
/** * Get the configuration builder for the given scheme. * * @param scheme The scheme to locate. * @return The FileSystemConfigBuilder for the scheme. * @throws FileSystemException if the given scheme is not konwn */ @Override public FileSystemConfigBuilder getFileSystemConfigBuilder(final String scheme) throws FileSystemException { final FileProvider provider = providers.get(scheme); FileSystemException.requireNonNull(provider, "vfs.impl/unknown-scheme.error", scheme); return provider.getConfigBuilder(); }
/** * Get the configuration builder for the given scheme. * * @param scheme The scheme to locate. * @return The FileSystemConfigBuilder for the scheme. * @throws FileSystemException if the given scheme is not konwn */ @Override public FileSystemConfigBuilder getFileSystemConfigBuilder(final String scheme) throws FileSystemException { final FileProvider provider = providers.get(scheme); if (provider == null) { throw new FileSystemException("vfs.impl/unknown-scheme.error", scheme); } return provider.getConfigBuilder(); }
/** * Creates a layered file system. * * @param scheme The scheme to use. * @param file The FileObject. * @return The layered FileObject. * @throws FileSystemException if an error occurs. */ @Override public FileObject createFileSystem(final String scheme, final FileObject file) throws FileSystemException { final FileProvider provider = providers.get(scheme); if (provider == null) { throw new FileSystemException("vfs.impl/unknown-provider.error", scheme, file); } return provider.createFileSystem(scheme, file, file.getFileSystem().getFileSystemOptions()); }
/** * Get the capabilities for a given scheme. * * @param scheme The scheme to located. * @return A Collection of capabilities. * @throws FileSystemException if the given scheme is not konwn */ @Override public Collection<Capability> getProviderCapabilities(final String scheme) throws FileSystemException { final FileProvider provider = providers.get(scheme); FileSystemException.requireNonNull(provider, "vfs.impl/unknown-scheme.error", scheme); return provider.getCapabilities(); }
/** * Get the configuration builder for the given scheme. * * @param scheme The scheme to locate. * @return The FileSystemConfigBuilder for the scheme. * @throws FileSystemException if the given scheme is not konwn */ @Override public FileSystemConfigBuilder getFileSystemConfigBuilder(final String scheme) throws FileSystemException { final FileProvider provider = providers.get(scheme); if (provider == null) { throw new FileSystemException("vfs.impl/unknown-scheme.error", scheme); } return provider.getConfigBuilder(); }
/** * Creates a layered file system. * * @param scheme The scheme to use. * @param file The FileObject. * @return The layered FileObject. * @throws FileSystemException if an error occurs. */ @Override public FileObject createFileSystem(final String scheme, final FileObject file) throws FileSystemException { final FileProvider provider = providers.get(scheme); FileSystemException.requireNonNull(provider, "vfs.impl/unknown-provider.error", scheme, file); return provider.createFileSystem(scheme, file, file.getFileSystem().getFileSystemOptions()); }
/** * Get the capabilities for a given scheme. * * @param scheme The scheme to located. * @return A Collection of capabilities. * @throws FileSystemException if the given scheme is not konwn */ @Override public Collection<Capability> getProviderCapabilities(final String scheme) throws FileSystemException { final FileProvider provider = providers.get(scheme); if (provider == null) { throw new FileSystemException("vfs.impl/unknown-scheme.error", scheme); } return provider.getCapabilities(); }