1 /**
2 * This file is part of Waarp Project.
3 *
4 * Copyright 2009, Frederic Bregier, and individual contributors by the @author tags. See the
5 * COPYRIGHT.txt in the distribution for a full listing of individual contributors.
6 *
7 * All Waarp Project is free software: you can redistribute it and/or modify it under the terms of
8 * the GNU General Public License as published by the Free Software Foundation, either version 3 of
9 * the License, or (at your option) any later version.
10 *
11 * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
12 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
13 * Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along with Waarp . If not, see
16 * <http://www.gnu.org/licenses/>.
17 */
18 package org.waarp.ftp.simpleimpl.file;
19
20 import java.io.File;
21
22 import org.waarp.common.command.exception.CommandAbstractException;
23 import org.waarp.ftp.core.file.FtpFile;
24 import org.waarp.ftp.core.session.FtpSession;
25 import org.waarp.ftp.filesystembased.FilesystemBasedFtpFile;
26
27 /**
28 * FtpFile implementation based on true directories and files
29 *
30 * @author Frederic Bregier
31 *
32 */
33 public class FileBasedFile extends FilesystemBasedFtpFile {
34 /**
35 * @param session
36 * @param fileBasedDir
37 * It is not necessary the directory that owns this file.
38 * @param path
39 * @param append
40 * @throws CommandAbstractException
41 */
42 public FileBasedFile(FtpSession session, FileBasedDir fileBasedDir,
43 String path, boolean append) throws CommandAbstractException {
44 super(session, fileBasedDir, path, append);
45 }
46
47 /**
48 * This method is a good to have in a true {@link FtpFile} implementation.
49 *
50 * @return the File associated with the current FtpFile operation
51 */
52 public File getTrueFile() {
53 try {
54 return getFileFromPath(getFile());
55 } catch (CommandAbstractException e) {
56 return null;
57 }
58 }
59 }