provides makefile and makes it compile for david
[IRC.git] / Robust / src / Tests / ssJava / mp3decoder / InputStreamSource.java
1 /*\r
2  * 11/19/04             1.0 moved to LGPL.\r
3  * 12/12/99             Initial version.        mdm@techie.com\r
4  *-----------------------------------------------------------------------\r
5  *   This program is free software; you can redistribute it and/or modify\r
6  *   it under the terms of the GNU Library General Public License as published\r
7  *   by the Free Software Foundation; either version 2 of the License, or\r
8  *   (at your option) any later version.\r
9  *\r
10  *   This program is distributed in the hope that it will be useful,\r
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  *   GNU Library General Public License for more details.\r
14  *\r
15  *   You should have received a copy of the GNU Library General Public\r
16  *   License along with this program; if not, write to the Free Software\r
17  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
18  *----------------------------------------------------------------------\r
19  */\r
20 \r
21 import java.io.IOException;\r
22 import java.io.InputStream;\r
23 \r
24 /**\r
25  * <i>Work In Progress.</i>\r
26  * \r
27  * An instance of <code>InputStreamSource</code> implements a\r
28  * <code>Source</code> that provides data from an <code>InputStream\r
29  * </code>. Seeking functionality is not supported. \r
30  * \r
31  * @author MDM\r
32  */\r
33 public class InputStreamSource implements Source\r
34 {\r
35         private final InputStream               in;\r
36         \r
37         public InputStreamSource(InputStream in)\r
38         {\r
39                 if (in==null)\r
40                         throw new NullPointerException("in");\r
41                 \r
42                 this.in = in;           \r
43         }\r
44         \r
45         public int read(byte[] b, int offs, int len)\r
46                 throws IOException\r
47         {\r
48                 int read = in.read(b, offs, len);\r
49                 return read;\r
50         }\r
51         \r
52         public boolean willReadBlock()\r
53         {\r
54                 return true;\r
55                 //boolean block = (in.available()==0);\r
56                 //return block;\r
57         }\r
58         \r
59         public boolean isSeekable()\r
60         {\r
61                 return false;   \r
62         }\r
63         \r
64         public long     tell()\r
65         {\r
66                 return -1;      \r
67         }\r
68         \r
69         public long     seek(long to)\r
70         {\r
71                 return -1;      \r
72         }\r
73         \r
74         public long length()\r
75         {\r
76                 return -1;\r
77         }\r
78 }\r