add another test case for ssjava:
[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 package javazoom.jl.decoder;\r
22 \r
23 import java.io.IOException;\r
24 import java.io.InputStream;\r
25 \r
26 /**\r
27  * <i>Work In Progress.</i>\r
28  * \r
29  * An instance of <code>InputStreamSource</code> implements a\r
30  * <code>Source</code> that provides data from an <code>InputStream\r
31  * </code>. Seeking functionality is not supported. \r
32  * \r
33  * @author MDM\r
34  */\r
35 public class InputStreamSource implements Source\r
36 {\r
37         private final InputStream               in;\r
38         \r
39         public InputStreamSource(InputStream in)\r
40         {\r
41                 if (in==null)\r
42                         throw new NullPointerException("in");\r
43                 \r
44                 this.in = in;           \r
45         }\r
46         \r
47         public int read(byte[] b, int offs, int len)\r
48                 throws IOException\r
49         {\r
50                 int read = in.read(b, offs, len);\r
51                 return read;\r
52         }\r
53         \r
54         public boolean willReadBlock()\r
55         {\r
56                 return true;\r
57                 //boolean block = (in.available()==0);\r
58                 //return block;\r
59         }\r
60         \r
61         public boolean isSeekable()\r
62         {\r
63                 return false;   \r
64         }\r
65         \r
66         public long     tell()\r
67         {\r
68                 return -1;      \r
69         }\r
70         \r
71         public long     seek(long to)\r
72         {\r
73                 return -1;      \r
74         }\r
75         \r
76         public long length()\r
77         {\r
78                 return -1;\r
79         }\r
80 }\r