Class AbstractFileOperationProvider
java.lang.Object
org.apache.commons.vfs2.operations.AbstractFileOperationProvider
- All Implemented Interfaces:
FileOperationProvider
Abstracts implementations of
FileOperationProvider
.- Since:
- 0.1
-
Field Summary
Fields inherited from interface org.apache.commons.vfs2.operations.FileOperationProvider
EMPTY_ARRAY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
addOperation
(Class<? extends FileOperation> operationClass) Add new FileOperation to list of known operations.final void
collectOperations
(Collection<Class<? extends FileOperation>> operationsList, FileObject file) Gather available operations for the specified FileObject and put them into specified operationsList.protected abstract void
doCollectOperations
(Collection<Class<? extends FileOperation>> availableOperations, Collection<Class<? extends FileOperation>> resultList, FileObject file) Gather available operations for the specified FileObject and put them into specified operationsList.final FileOperation
getOperation
(FileObject file, Class<? extends FileOperation> operationClass) Gets implementation for a given FileObject and FileOperation interface.protected abstract FileOperation
instantiateOperation
(FileObject file, Class<? extends FileOperation> operationClass) Gets operation instance for specified FileOperation subclass.protected final Class<? extends FileOperation>
lookupOperation
(Class<? extends FileOperation> operationClass) Find class implementing a specific operation interface.
-
Constructor Details
-
AbstractFileOperationProvider
public AbstractFileOperationProvider()Constructs a new instance for subclasses.
-
-
Method Details
-
addOperation
protected final void addOperation(Class<? extends FileOperation> operationClass) throws FileSystemException Add new FileOperation to list of known operations.- Parameters:
operationClass
- a class implementing FileOperation.- Throws:
FileSystemException
- if instances of the class cannot be assigned to FileOperation.
-
collectOperations
public final void collectOperations(Collection<Class<? extends FileOperation>> operationsList, FileObject file) throws FileSystemException Gather available operations for the specified FileObject and put them into specified operationsList.- Specified by:
collectOperations
in interfaceFileOperationProvider
- Parameters:
operationsList
- the list of available operations for the specified FileObject. The operationList contains classes of available operations, e.g. Class objects.file
- the FileObject for which we want to get the list of available operations.- Throws:
FileSystemException
- if list of operations cannot be retrieved.
-
doCollectOperations
protected abstract void doCollectOperations(Collection<Class<? extends FileOperation>> availableOperations, Collection<Class<? extends FileOperation>> resultList, FileObject file) throws FileSystemException Gather available operations for the specified FileObject and put them into specified operationsList.- Parameters:
availableOperations
- the list of available operations for the specified FileObject.resultList
- List to be filled with applicable operations.file
- the FileObject for which we want to get the list of available operations.- Throws:
FileSystemException
- if list of operations cannot be retrieved.- See Also:
-
getOperation
public final FileOperation getOperation(FileObject file, Class<? extends FileOperation> operationClass) throws FileSystemException Description copied from interface:FileOperationProvider
Gets implementation for a given FileObject and FileOperation interface.- Specified by:
getOperation
in interfaceFileOperationProvider
- Parameters:
file
- the FileObject for which we need an operation.operationClass
- the Class which instance we are needed.- Returns:
- the required operation instance.
- Throws:
FileSystemException
- if operation cannot be retrieved.
-
instantiateOperation
protected abstract FileOperation instantiateOperation(FileObject file, Class<? extends FileOperation> operationClass) throws FileSystemException Gets operation instance for specified FileOperation subclass.- Parameters:
file
- the file this operation should act on.operationClass
- the class of a file operation interface to instantiate.- Returns:
- a new file operation
- Throws:
FileSystemException
- if operation cannot be instantiated.
-
lookupOperation
protected final Class<? extends FileOperation> lookupOperation(Class<? extends FileOperation> operationClass) throws FileSystemException Find class implementing a specific operation interface.- Parameters:
operationClass
- the interface which is requested.- Returns:
- never returns null
- Throws:
FileSystemException
- if operationClass is not a known FileOperation interface.
-