add source code that does not have location annotations.
[IRC.git] / Robust / src / Benchmarks / SSJava / MP3DecoderInfer / InputStreamSource.java
diff --git a/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/InputStreamSource.java b/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/InputStreamSource.java
new file mode 100644 (file)
index 0000000..3945c3d
--- /dev/null
@@ -0,0 +1,78 @@
+/*\r
+ * 11/19/04            1.0 moved to LGPL.\r
+ * 12/12/99            Initial version.        mdm@techie.com\r
+ *-----------------------------------------------------------------------\r
+ *   This program is free software; you can redistribute it and/or modify\r
+ *   it under the terms of the GNU Library General Public License as published\r
+ *   by the Free Software Foundation; either version 2 of the License, or\r
+ *   (at your option) any later version.\r
+ *\r
+ *   This program is distributed in the hope that it will be useful,\r
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ *   GNU Library General Public License for more details.\r
+ *\r
+ *   You should have received a copy of the GNU Library General Public\r
+ *   License along with this program; if not, write to the Free Software\r
+ *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ *----------------------------------------------------------------------\r
+ */\r
+\r
+import java.io.IOException;\r
+import java.io.InputStream;\r
+\r
+/**\r
+ * <i>Work In Progress.</i>\r
+ * \r
+ * An instance of <code>InputStreamSource</code> implements a\r
+ * <code>Source</code> that provides data from an <code>InputStream\r
+ * </code>. Seeking functionality is not supported. \r
+ * \r
+ * @author MDM\r
+ */\r
+public class InputStreamSource implements Source\r
+{\r
+       private final InputStream               in;\r
+       \r
+       public InputStreamSource(InputStream in)\r
+       {\r
+               if (in==null)\r
+                       throw new NullPointerException("in");\r
+               \r
+               this.in = in;           \r
+       }\r
+       \r
+       public int read(byte[] b, int offs, int len)\r
+               throws IOException\r
+       {\r
+               int read = in.read(b, offs, len);\r
+               return read;\r
+       }\r
+       \r
+       public boolean willReadBlock()\r
+       {\r
+               return true;\r
+               //boolean block = (in.available()==0);\r
+               //return block;\r
+       }\r
+       \r
+       public boolean isSeekable()\r
+       {\r
+               return false;   \r
+       }\r
+       \r
+       public long     tell()\r
+       {\r
+               return -1;      \r
+       }\r
+       \r
+       public long     seek(long to)\r
+       {\r
+               return -1;      \r
+       }\r
+       \r
+       public long length()\r
+       {\r
+               return -1;\r
+       }\r
+}\r