Package org.apache.commons.vfs2.provider
Class AbstractFileProvider
- java.lang.Object
-
- org.apache.commons.vfs2.provider.AbstractVfsComponent
-
- org.apache.commons.vfs2.provider.AbstractVfsContainer
-
- org.apache.commons.vfs2.provider.AbstractFileProvider
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,FileProvider,VfsComponent
- Direct Known Subclasses:
AbstractLayeredFileProvider,AbstractOriginatingFileProvider,CompositeFileProvider,ResourceFileProvider,TemporaryFileProvider,UrlFileProvider
public abstract class AbstractFileProvider extends AbstractVfsContainer implements FileProvider
A partialFileProviderimplementation. Takes care of managing the file systems created by the provider.
-
-
Constructor Summary
Constructors Constructor Description AbstractFileProvider()Constructs a new instance for subclasses.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddFileSystem(java.lang.Comparable<?> key, FileSystem fs)Adds a file system to those cached by this provider.voidclose()Closes the file systems created by this provider.voidcloseFileSystem(FileSystem fileSystem)Closes the FileSystem.FileObjectcreateFileSystem(java.lang.String scheme, FileObject file, FileSystemOptions fileSystemOptions)Creates a layered file system.protected FileSystemfindFileSystem(java.lang.Comparable<?> key, FileSystemOptions fileSystemOptions)Locates a cached file system.voidfreeUnusedResources()Frees unused resources.FileSystemConfigBuildergetConfigBuilder()Gets the FileSystemConfigBuilder.protected FileNameParsergetFileNameParser()Gets the file name parser.FileNameparseUri(FileName base, java.lang.String uri)Parses an absolute URI.protected voidsetFileNameParser(FileNameParser parser)Sets the file name parser.-
Methods inherited from class org.apache.commons.vfs2.provider.AbstractVfsContainer
addComponent, removeComponent
-
Methods inherited from class org.apache.commons.vfs2.provider.AbstractVfsComponent
getContext, getLogger, init, setContext, setLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.vfs2.provider.FileProvider
findFile, getCapabilities
-
-
-
-
Constructor Detail
-
AbstractFileProvider
public AbstractFileProvider()
Constructs a new instance for subclasses.
-
-
Method Detail
-
addFileSystem
protected void addFileSystem(java.lang.Comparable<?> key, FileSystem fs) throws FileSystemException
Adds a file system to those cached by this provider.The file system may implement
VfsComponent, in which case it is initialized.- Parameters:
key- The root file of the file system, part of the cache key.fs- the file system to add.- Throws:
FileSystemException- if any error occurs.
-
close
public void close()
Closes the file systems created by this provider.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceVfsComponent- Overrides:
closein classAbstractVfsContainer
-
closeFileSystem
public void closeFileSystem(FileSystem fileSystem)
Closes the FileSystem.- Parameters:
fileSystem- The FileSystem to close.
-
createFileSystem
public FileObject createFileSystem(java.lang.String scheme, FileObject file, FileSystemOptions fileSystemOptions) throws FileSystemException
Creates a layered file system. This method throws a 'not supported' exception.- Specified by:
createFileSystemin interfaceFileProvider- Parameters:
scheme- The protocol to use to access the file.file- a FileObject.fileSystemOptions- Options to the file system.- Returns:
- A FileObject associated with the new FileSystem.
- Throws:
FileSystemException- if an error occurs.
-
findFileSystem
protected FileSystem findFileSystem(java.lang.Comparable<?> key, FileSystemOptions fileSystemOptions)
Locates a cached file system.- Parameters:
key- The root file of the file system, part of the cache key.fileSystemOptions- file system options the file system instance must have, may be null.- Returns:
- The file system instance, or null if it is not cached.
-
freeUnusedResources
public void freeUnusedResources()
Frees unused resources.
-
getConfigBuilder
public FileSystemConfigBuilder getConfigBuilder()
Gets the FileSystemConfigBuilder.- Specified by:
getConfigBuilderin interfaceFileProvider- Returns:
- the FileSystemConfigBuilder.
-
getFileNameParser
protected FileNameParser getFileNameParser()
Gets the file name parser.- Returns:
- the file name parser.
-
parseUri
public FileName parseUri(FileName base, java.lang.String uri) throws FileSystemException
Parses an absolute URI.- Specified by:
parseUriin interfaceFileProvider- Parameters:
base- The base file - if null theurineeds to be absoluteuri- The URI to parse.- Returns:
- The FileName.
- Throws:
FileSystemException- if an error occurs.
-
setFileNameParser
protected void setFileNameParser(FileNameParser parser)
Sets the file name parser.- Parameters:
parser- a file name parser.
-
-