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