01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.commons.vfs.impl;
18:
19: import org.apache.commons.vfs.FileName;
20: import org.apache.commons.vfs.FileObject;
21: import org.apache.commons.vfs.FileSystemException;
22: import org.apache.commons.vfs.FileSystemManager;
23: import org.apache.commons.vfs.FileSystemOptions;
24: import org.apache.commons.vfs.provider.FileReplicator;
25: import org.apache.commons.vfs.provider.TemporaryFileStore;
26: import org.apache.commons.vfs.provider.VfsComponentContext;
27:
28: import java.io.File;
29:
30: /**
31: * The default context implementation.
32: *
33: * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
34: * @version $Revision: 480428 $ $Date: 2006-11-28 22:15:24 -0800 (Tue, 28 Nov 2006) $
35: */
36: final class DefaultVfsComponentContext implements VfsComponentContext {
37: private final DefaultFileSystemManager manager;
38:
39: public DefaultVfsComponentContext(
40: final DefaultFileSystemManager manager) {
41: this .manager = manager;
42: }
43:
44: /**
45: * Locate a file by name.
46: */
47: public FileObject resolveFile(final FileObject baseFile,
48: final String name, final FileSystemOptions fileSystemOptions)
49: throws FileSystemException {
50: return manager.resolveFile(baseFile, name, fileSystemOptions);
51: }
52:
53: /**
54: * Locate a file by name.
55: */
56: public FileObject resolveFile(final String name,
57: final FileSystemOptions fileSystemOptions)
58: throws FileSystemException {
59: return manager.resolveFile(name, fileSystemOptions);
60: }
61:
62: public FileName parseURI(String uri) throws FileSystemException {
63: return manager.resolveURI(uri);
64: }
65:
66: /**
67: * Returns a {@link FileObject} for a local file.
68: */
69: public FileObject toFileObject(File file)
70: throws FileSystemException {
71: return manager.toFileObject(file);
72: }
73:
74: /**
75: * Locates a file replicator for the provider to use.
76: */
77: public FileReplicator getReplicator() throws FileSystemException {
78: return manager.getReplicator();
79: }
80:
81: /**
82: * Locates a temporary file store for the provider to use.
83: */
84: public TemporaryFileStore getTemporaryFileStore()
85: throws FileSystemException {
86: return manager.getTemporaryFileStore();
87: }
88:
89: /**
90: * Returns the filesystem manager for the current context
91: *
92: * @return the filesystem manager
93: */
94: public FileSystemManager getFileSystemManager() {
95: return manager;
96: }
97: }
|