1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider.compressed;
18
19 import java.util.Collection;
20
21 import org.apache.commons.vfs2.Capability;
22 import org.apache.commons.vfs2.FileName;
23 import org.apache.commons.vfs2.FileObject;
24 import org.apache.commons.vfs2.FileSystem;
25 import org.apache.commons.vfs2.FileSystemException;
26 import org.apache.commons.vfs2.FileSystemOptions;
27 import org.apache.commons.vfs2.FileType;
28 import org.apache.commons.vfs2.provider.AbstractLayeredFileProvider;
29 import org.apache.commons.vfs2.provider.LayeredFileName;
30
31
32
33
34 public abstract class CompressedFileFileProvider extends AbstractLayeredFileProvider {
35
36
37
38
39 public CompressedFileFileProvider() {
40 }
41
42
43
44
45
46
47
48
49
50
51 protected abstract FileSystem createFileSystem(FileName name, FileObject file, FileSystemOptions fileSystemOptions) throws FileSystemException;
52
53
54
55
56
57
58
59
60 @Override
61 protected FileSystem doCreateFileSystem(final String scheme, final FileObject file,
62 final FileSystemOptions fileSystemOptions) throws FileSystemException {
63 final FileName name = new LayeredFileName(scheme, file.getName(), FileName.ROOT_PATH, FileType.FOLDER);
64 return createFileSystem(name, file, fileSystemOptions);
65 }
66
67 @Override
68 public abstract Collection<Capability> getCapabilities();
69 }