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 public CompressedFileFileProvider() {
37 }
38
39
40
41
42
43
44
45
46 @Override
47 protected FileSystem doCreateFileSystem(final String scheme, final FileObject file,
48 final FileSystemOptions fileSystemOptions) throws FileSystemException {
49 final FileName name = new LayeredFileName(scheme, file.getName(), FileName.ROOT_PATH, FileType.FOLDER);
50 return createFileSystem(name, file, fileSystemOptions);
51 }
52
53 protected abstract FileSystem createFileSystem(final FileName name, final FileObject file,
54 final FileSystemOptions fileSystemOptions) throws FileSystemException;
55
56 @Override
57 public abstract Collection<Capability> getCapabilities();
58 }