org.apache.commons.vfs.operations
Class AbstractFileOperationProvider

java.lang.Object
  extended by org.apache.commons.vfs.operations.AbstractFileOperationProvider
All Implemented Interfaces:
FileOperationProvider

public abstract class AbstractFileOperationProvider
extends java.lang.Object
implements FileOperationProvider

todo: add class description here

Since:
0.1
Author:
Siarhei Baidun

Field Summary
private  java.util.Collection operations
          Available operations.
 
Constructor Summary
AbstractFileOperationProvider()
           
 
Method Summary
protected  void addOperation(java.lang.Class operationClass)
           
 void collectOperations(java.util.Collection operationsList, FileObject file)
          Gather available operations for the specified FileObject and put them into specified operationsList.
protected abstract  void doCollectOperations(java.util.Collection availableOperations, java.util.Collection resultList, FileObject file)
           
 FileOperation getOperation(FileObject file, java.lang.Class operationClass)
           
protected abstract  FileOperation instantiateOperation(FileObject file, java.lang.Class operationClass)
           
protected  java.lang.Class lookupOperation(java.lang.Class operationClass)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

operations

private java.util.Collection operations
Available operations. Operations could be registered for different schemes. Some operations can work only for "file" scheme, other - for "svnhttp(s)", "svn", "svnssh", but not for "file", etc. The Map has scheme as a key and Colleaction of operations that are available for that scheme.

Constructor Detail

AbstractFileOperationProvider

public AbstractFileOperationProvider()
Method Detail

collectOperations

public final void collectOperations(java.util.Collection operationsList,
                                    FileObject file)
                             throws FileSystemException
Gather available operations for the specified FileObject and put them into specified operationsList.

Specified by:
collectOperations in interface FileOperationProvider
Parameters:
operationsList - the list of available operations for the specivied 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 cannto be retrieved.

doCollectOperations

protected abstract void doCollectOperations(java.util.Collection availableOperations,
                                            java.util.Collection resultList,
                                            FileObject file)
                                     throws FileSystemException
Throws:
FileSystemException

getOperation

public final FileOperation getOperation(FileObject file,
                                        java.lang.Class operationClass)
                                 throws FileSystemException
Specified by:
getOperation in interface FileOperationProvider
Parameters:
file - the FileObject for which we need a operation.
operationClass - the Class which instance we are needed.
Returns:
the requried operation instance.
Throws:
FileSystemException - if operation cannot be retrieved.

instantiateOperation

protected abstract FileOperation instantiateOperation(FileObject file,
                                                      java.lang.Class operationClass)
                                               throws FileSystemException
Parameters:
operationClass -
Returns:
Throws:
FileSystemException

lookupOperation

protected final java.lang.Class lookupOperation(java.lang.Class operationClass)
                                         throws FileSystemException
Parameters:
operationClass -
Returns:
never returns null
Throws:
FileSystemException

addOperation

protected final void addOperation(java.lang.Class operationClass)
                           throws FileSystemException
Parameters:
operationClass -
Throws:
FileSystemException