1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs.operations;
18
19 import org.apache.commons.vfs.FileObject;
20 import org.apache.commons.vfs.FileSystemException;
21
22 import java.util.Collection;
23
24 /***
25 * FileOperationProvider is responsible for dealing with FileOperation's.
26 *
27 * @author Siarhei Baidun
28 * @since 0.1
29 */
30 public interface FileOperationProvider
31 {
32
33 /***
34 * Gather available operations for the specified FileObject and put them into
35 * specified operationsList.
36 *
37 * @param operationsList
38 * the list of available operations for the specivied FileObject.
39 * The operationList contains classes of available operations, e.g.
40 * Class objects.
41 * @param file
42 * the FileObject for which we want to get the list of available
43 * operations.
44 *
45 * @throws FileSystemException
46 * if list of operations cannto be retrieved.
47 */
48 void collectOperations(final Collection operationsList, final FileObject file)
49 throws FileSystemException;
50
51 /***
52 *
53 * @param file
54 * the FileObject for which we need a operation.
55 * @param operationClass
56 * the Class which instance we are needed.
57 * @return the requried operation instance. s
58 * @throws FileSystemException
59 * if operation cannot be retrieved.
60 */
61 FileOperation getOperation(final FileObject file, final Class operationClass)
62 throws FileSystemException;
63 }