1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs.provider;
18
19 import org.apache.commons.vfs.FileName;
20 import org.apache.commons.vfs.FileType;
21
22 /***
23 * A file name for layered files.
24 *
25 * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
26 * @version $Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
27 */
28 public class LayeredFileName extends AbstractFileName
29 {
30 private final FileName outerUri;
31
32 public LayeredFileName(final String scheme,
33 final FileName outerUri,
34 final String path,
35 final FileType type)
36 {
37 super(scheme, path, type);
38 this.outerUri = outerUri;
39 }
40
41 /***
42 * Returns the URI of the outer file.
43 */
44 public FileName getOuterName()
45 {
46 return outerUri;
47 }
48
49 public FileName createName(String path, FileType type)
50 {
51 return new LayeredFileName(getScheme(), getOuterName(), path, type);
52 }
53
54 protected void appendRootUri(StringBuffer buffer, boolean addPassword)
55 {
56 buffer.append(getScheme());
57 buffer.append(":");
58 buffer.append(getOuterName().getURI());
59 buffer.append("!");
60 }
61 }