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:
Closeable
,AutoCloseable
,FileProvider
,VfsComponent
- Direct Known Subclasses:
AbstractLayeredFileProvider
,AbstractOriginatingFileProvider
,CompositeFileProvider
,ResourceFileProvider
,TemporaryFileProvider
,UrlFileProvider
A partial
FileProvider
implementation. Takes care of managing the file systems created by the provider.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addFileSystem
(Comparable<?> key, FileSystem fs) Adds a file system to those cached by this provider.void
close()
Closes the file systems created by this provider.void
closeFileSystem
(FileSystem fileSystem) Closes the FileSystem.createFileSystem
(String scheme, FileObject file, FileSystemOptions fileSystemOptions) Creates a layered file system.protected FileSystem
findFileSystem
(Comparable<?> key, FileSystemOptions fileSystemOptions) Locates a cached file system.void
Frees unused resources.Gets the FileSystemConfigBuilder.protected FileNameParser
Gets the file name parser.Parses an absolute URI.protected void
setFileNameParser
(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 Details
-
AbstractFileProvider
public AbstractFileProvider()Constructs a new instance for subclasses.
-
-
Method Details
-
addFileSystem
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
Closes the file systems created by this provider.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceVfsComponent
- Overrides:
close
in classAbstractVfsContainer
-
closeFileSystem
Closes the FileSystem.- Parameters:
fileSystem
- The FileSystem to close.
-
createFileSystem
public FileObject createFileSystem(String scheme, FileObject file, FileSystemOptions fileSystemOptions) throws FileSystemException Creates a layered file system. This method throws a 'not supported' exception.- Specified by:
createFileSystem
in 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
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
Frees unused resources. -
getConfigBuilder
Gets the FileSystemConfigBuilder.- Specified by:
getConfigBuilder
in interfaceFileProvider
- Returns:
- the FileSystemConfigBuilder.
-
getFileNameParser
Gets the file name parser.- Returns:
- the file name parser.
-
parseUri
Parses an absolute URI.- Specified by:
parseUri
in interfaceFileProvider
- Parameters:
base
- The base file - if null theuri
needs to be absoluteuri
- The URI to parse.- Returns:
- The FileName.
- Throws:
FileSystemException
- if an error occurs.
-
setFileNameParser
Sets the file name parser.- Parameters:
parser
- a file name parser.
-