01: package com.coldcore.coloradoftp.filesystem.impl;
02:
03: import com.coldcore.coloradoftp.filesystem.FileSystem;
04: import com.coldcore.coloradoftp.filesystem.FailedActionException;
05: import com.coldcore.coloradoftp.filesystem.ListingFile;
06: import com.coldcore.coloradoftp.session.Session;
07:
08: import java.util.Set;
09: import java.nio.channels.WritableByteChannel;
10: import java.nio.channels.ReadableByteChannel;
11:
12: /**
13: * File system wrapper.
14: * This class is for extensions wishing to operate on existing filesystem
15: * and stay independent of future interface changes.
16: */
17: public class FileSystemWrapper implements FileSystem {
18:
19: protected FileSystem fileSystem;
20:
21: public FileSystemWrapper(FileSystem fileSystem) {
22: super ();
23: this .fileSystem = fileSystem;
24: if (fileSystem == null)
25: throw new IllegalArgumentException("Invalid file system");
26: }
27:
28: public String getCurrentDirectory(Session userSession)
29: throws FailedActionException {
30: return fileSystem.getCurrentDirectory(userSession);
31: }
32:
33: public String toAbsolute(String path, Session userSession)
34: throws FailedActionException {
35: return fileSystem.toAbsolute(path, userSession);
36: }
37:
38: public String getParent(String path, Session userSession)
39: throws FailedActionException {
40: return fileSystem.getParent(path, userSession);
41: }
42:
43: public Set<ListingFile> listDirectory(String dir,
44: Session userSession) throws FailedActionException {
45: return fileSystem.listDirectory(dir, userSession);
46: }
47:
48: public ListingFile getPath(String path, Session userSession)
49: throws FailedActionException {
50: return fileSystem.getPath(path, userSession);
51: }
52:
53: public String changeDirectory(String dir, Session userSession)
54: throws FailedActionException {
55: return fileSystem.changeDirectory(dir, userSession);
56: }
57:
58: public void deletePath(String path, Session userSession)
59: throws FailedActionException {
60: fileSystem.deletePath(path, userSession);
61: }
62:
63: public String createDirectory(String dir, Session userSession)
64: throws FailedActionException {
65: return fileSystem.createDirectory(dir, userSession);
66: }
67:
68: public String renamePath(String from, String to, Session userSession)
69: throws FailedActionException {
70: return fileSystem.renamePath(from, to, userSession);
71: }
72:
73: public ReadableByteChannel readFile(String filename, long position,
74: Session userSession) throws FailedActionException {
75: return fileSystem.readFile(filename, position, userSession);
76: }
77:
78: public WritableByteChannel saveFile(String filename,
79: boolean append, Session userSession)
80: throws FailedActionException {
81: return fileSystem.saveFile(filename, append, userSession);
82: }
83:
84: public String getFileSeparator() {
85: return fileSystem.getFileSeparator();
86: }
87: }
|