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.file;
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.io.File;
30 import java.net.URI;
31
32 /**
33 * This class provides the file URI scheme handler.
34 */
35 public class FileSchemeHandler extends AbstractURISchemeHandler {
36
37 /**
38 * Constructs a new file scheme handler for the specified VFS.
39 *
40 * @param v the VFS for this handler
41 */
42 public FileSchemeHandler( final VFS v ) {
43 super( v );
44 }
45
46 /**
47 * @see org.millscript.commons.vfs.protocols.URISchemeHandler#resolveAsFile(java.net.URI)
48 */
49 public VFile resolveAsFile( final URI uri ) {
50 super.validate( uri );
51
52 final VVolume root = new LocalVolume( this.getParentVFS(), new File( "/") );
53 return root.getRootVFolder().resolveAsFile( uri.getPath() );
54 }
55
56 /**
57 * @see org.millscript.commons.vfs.protocols.URISchemeHandler#resolveAsFolder(java.net.URI)
58 */
59 public VFolder resolveAsFolder( final URI uri ) {
60 super.validate( uri );
61
62 final VVolume root = new LocalVolume( this.getParentVFS(), new File( "/") );
63 return root.getRootVFolder().resolveAsFolder( uri.getPath() );
64 }
65
66 /**
67 * @see org.millscript.commons.vfs.protocols.URISchemeHandler#resolveAsVolume(java.net.URI)
68 */
69 public VVolume resolveAsVolume( final URI uri ) {
70 super.validate( uri );
71
72 final VVolume root = new LocalVolume( this.getParentVFS(), new File( "/") );
73 return root.getRootVFolder().resolveAsVolume( uri.getPath() );
74 }
75
76 }