1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.millscript.commons.vfs.protocols.http;
22
23 import org.millscript.commons.vfs.VFS;
24 import org.millscript.commons.vfs.VFile;
25 import org.millscript.commons.vfs.VFolder;
26 import org.millscript.commons.vfs.VVolume;
27 import org.millscript.commons.vfs.protocols.AbstractURISchemeHandler;
28
29 import java.net.URI;
30
31 /**
32 * This class provides the http URI scheme handler.
33 */
34 public class HttpSchemeHandler extends AbstractURISchemeHandler {
35
36 /**
37 * Constructs a new http scheme handler for the specified VFS.
38 *
39 * @param v the VFS for this handler
40 */
41 public HttpSchemeHandler( final VFS v ) {
42 super( v );
43 }
44
45 /**
46 * @see org.millscript.commons.vfs.protocols.URISchemeHandler#resolveAsFile(java.net.URI)
47 */
48 public VFile resolveAsFile( final URI uri ) {
49 super.validate( uri );
50
51 final VVolume root = new HttpVolume( this.getParentVFS(), uri );
52 return root.getRootVFolder().resolveAsFile( uri.getPath() );
53 }
54
55 /**
56 * @see org.millscript.commons.vfs.protocols.URISchemeHandler#resolveAsFolder(java.net.URI)
57 */
58 public VFolder resolveAsFolder( final URI uri ) {
59 super.validate( uri );
60
61 final VVolume root = new HttpVolume( this.getParentVFS(), uri );
62 return root.getRootVFolder().resolveAsFolder( uri.getPath() );
63 }
64
65 /**
66 * @see org.millscript.commons.vfs.protocols.URISchemeHandler#resolveAsVolume(java.net.URI)
67 */
68 public VVolume resolveAsVolume( final URI uri ) {
69 super.validate( uri );
70
71 final VVolume root = new HttpVolume( this.getParentVFS(), uri );
72 return root.getRootVFolder().resolveAsVolume( uri.getPath() );
73 }
74
75 }