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.core.file; 19 20 import org.waarp.common.command.exception.CommandAbstractException; 21 import org.waarp.common.file.DirInterface; 22 23 /** 24 * @author Frederic Bregier 25 * 26 */ 27 public interface FtpDir extends DirInterface { 28 /** 29 * Create a new FtpFile 30 * 31 * @param path 32 * @param append 33 * @return the new Ftp FileInterface 34 * @throws CommandAbstractException 35 */ 36 public abstract FtpFile newFile(String path, boolean append) 37 throws CommandAbstractException; 38 39 /** 40 * Set a path as the current FileInterface 41 * 42 * @param path 43 * @param append 44 * True if this file is supposed to be in append mode (APPE), False in any other 45 * cases 46 * @return the Ftp FileInterface if it is correctly initiate 47 * @throws CommandAbstractException 48 */ 49 public abstract FtpFile setFile(String path, boolean append) 50 throws CommandAbstractException; 51 52 /** 53 * Set a new unique path as the current FileInterface from the current Directory (STOU) 54 * 55 * @return the Ftp FileInterface if it is correctly initiate 56 * @throws CommandAbstractException 57 */ 58 public abstract FtpFile setUniqueFile() 59 throws CommandAbstractException; 60 61 }