View Javadoc
1   /*
2    * dpkg - Debian Package library and the Debian Package Maven plugin
3    * (c) Copyright 2015 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.Closeable;
22  import java.io.IOException;
23  import java.io.OutputStream;
24  
25  /**
26   * <p>
27   * The target for writing data.
28   * </p>
29   *
30   * @author Gerrit Hohl (gerrit-hohl@users.sourceforge.net)
31   * @version <b>1.0</b>, 31.12.2015 by Gerrit Hohl
32   */
33  public interface DataTarget extends Closeable {
34  	
35  	
36  	/**
37  	 * <p>
38  	 * Returns the name of the source.
39  	 * </p>
40  	 * <p>
41  	 * This name is used e.g. for detail messages of exceptions.
42  	 * </p>
43  	 *
44  	 * @return The name.
45  	 */
46  	String getName();
47  	
48  	
49  	/**
50  	 * <p>
51  	 * Returns a stream for writing the data.
52  	 * </p>
53  	 * <p>
54  	 * The method will always return the same {@link OutputStream} if the source
55  	 * is still open. If the {@link OutputStream#close()} method is called the
56  	 * source will behave the same as the {@link #close()} method was called.
57  	 * </p>
58  	 *
59  	 * @return The stream.
60  	 * @throws IOException
61  	 *             If an I/O error occurs.
62  	 */
63  	OutputStream getOutputStream() throws IOException;
64  
65  
66  }