1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs.provider.http;
18
19 import org.apache.commons.httpclient.HttpClient;
20 import org.apache.commons.vfs.FileName;
21 import org.apache.commons.vfs.FileObject;
22 import org.apache.commons.vfs.FileSystem;
23 import org.apache.commons.vfs.FileSystemOptions;
24 import org.apache.commons.vfs.provider.AbstractFileSystem;
25 import org.apache.commons.vfs.provider.GenericFileName;
26
27 import java.util.Collection;
28
29 /***
30 * An HTTP file system.
31 *
32 * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
33 * @version $Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
34 */
35 public class HttpFileSystem
36 extends AbstractFileSystem
37 implements FileSystem
38 {
39 private final HttpClient client;
40
41 protected HttpFileSystem(final GenericFileName rootName, final HttpClient client, final FileSystemOptions fileSystemOptions)
42 {
43 super(rootName, null, fileSystemOptions);
44 this.client = client;
45 }
46
47 /***
48 * Adds the capabilities of this file system.
49 */
50 protected void addCapabilities(final Collection caps)
51 {
52 caps.addAll(HttpFileProvider.capabilities);
53 }
54
55 protected HttpClient getClient()
56 {
57 return client;
58 }
59
60 /***
61 * Creates a file object. This method is called only if the requested
62 * file is not cached.
63 */
64 protected FileObject createFile(final FileName name)
65 throws Exception
66 {
67 return new HttpFileObject(name, this);
68 }
69 }