1 /* 2 * ------------------------------------------------------------------------------ 3 * Hermes FTP Server 4 * Copyright (c) 2005-2007 Lars Behnke 5 * ------------------------------------------------------------------------------ 6 * 7 * This file is part of Hermes FTP Server. 8 * 9 * Hermes FTP Server is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * Hermes FTP Server is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with Hermes FTP Server; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 22 * ------------------------------------------------------------------------------ 23 */ 24 25 package net.sf.hermesftp.streams; 26 27 import java.io.IOException; 28 29 /*** 30 * Implemented by streams that support writing records. 31 * 32 * @author Lars Behnke 33 */ 34 public interface RecordWriteSupport { 35 36 /*** 37 * Writes out a whole record. 38 * 39 * @param data The record data. 40 * @param eof True, if last record is passed. 41 * @throws IOException Thrown if writing fails. 42 */ 43 void writeRecord(byte[] data, boolean eof) throws IOException; 44 45 /*** 46 * Flushes any buffered record data. 47 * 48 * @throws IOException Thrown if IO fails. 49 */ 50 void flush() throws IOException; 51 }