01: /*
02: Copyright © 2006 Stefano Chizzolini. http://clown.stefanochizzolini.it
03:
04: Contributors:
05: * Stefano Chizzolini (original code developer, http://www.stefanochizzolini.it):
06: contributed code is Copyright © 2006 by Stefano Chizzolini.
07:
08: This file should be part of the source code distribution of "PDF Clown library"
09: (the Program): see the accompanying README files for more info.
10:
11: This Program is free software; you can redistribute it and/or modify it under
12: the terms of the GNU General Public License as published by the Free Software
13: Foundation; either version 2 of the License, or (at your option) any later version.
14:
15: This Program is distributed in the hope that it will be useful, but WITHOUT ANY
16: WARRANTY, either expressed or implied; without even the implied warranty of
17: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
18:
19: You should have received a copy of the GNU General Public License along with this
20: Program (see README files); if not, go to the GNU website (http://www.gnu.org/).
21:
22: Redistribution and use, with or without modification, are permitted provided that such
23: redistributions retain the above copyright notice, license and disclaimer, along with
24: this list of conditions.
25: */
26:
27: package it.stefanochizzolini.clown.bytes;
28:
29: import java.io.EOFException;
30:
31: /**
32: Output stream interface.
33: */
34: public interface IOutputStream {
35: /**
36: Writes a byte array into the stream.
37: @param data Byte array to write into the stream.
38: @return Number of bytes written.
39: */
40: int write(byte[] data);
41:
42: /**
43: Writes a byte range into the stream.
44: @param data Byte array to write into the stream.
45: @param offset Location in the byte array at which writing begins.
46: @param length Number of bytes to write.
47: @return Number of bytes written.
48: */
49: int write(byte[] data, int offset, int length);
50:
51: /**
52: Writes a string into the stream.
53: @param data String to write into the stream.
54: @return Number of bytes written.
55: */
56: int write(String data);
57:
58: /**
59: Writes an {@link IInputStream IInputStream} into the stream.
60: @param data IInputStream to write into the stream.
61: @return Number of bytes written.
62: */
63: int write(IInputStream data);
64: }
|