1 /* 2 * dpkg - Debian Package library and the Debian Package Maven plugin 3 * (c) Copyright 2016 Gerrit Hohl 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License 7 * as published by the Free Software Foundation; either version 2 8 * of the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 */ 19 package net.sourceforge.javadpkg.io; 20 21 import java.io.IOException; 22 23 /** 24 * <p> 25 * A consumer which accepts data for further processing. 26 * </p> 27 * 28 * @author Gerrit Hohl (gerrit-hohl@users.sourceforge.net) 29 * @version <b>1.0</b>, 27.04.2016 by Gerrit Hohl 30 */ 31 public interface DataConsumer { 32 33 34 /** 35 * <p> 36 * Returns the name of the consumer in the exception (if one is thrown). 37 * </p> 38 * 39 * @return The name. 40 */ 41 String getName(); 42 43 44 /** 45 * <p> 46 * Consume the data. 47 * </p> 48 * 49 * @param buffer 50 * The buffer containing the data. 51 * @param length 52 * The length which defines how much of the buffer is filled with 53 * data. 54 * @throws IOException 55 * If an I/O error occurs. 56 */ 57 void consume(byte[] buffer, int length) throws IOException; 58 59 60 }