/* * Copyright (c) 2004, 2005 Kazuya Ujihara * * This software is provided 'as-is', without any express or implied warranty. * In no event will the authors be held liable for any damages arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it freely, * subject to the following restrictions: * 1. The origin of this software must not be misrepresented; * you must not claim that you wrote the original software. * If you use this software in a product, an acknowledgment * in the product documentation would be appreciated but is not required. * 2. Altered source versions must be plainly marked as such, * and must not be misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. */ package jp.ujihara.jsharp.io; import System.IO.Stream; import System.IO.SeekOrigin; public class DotNetInputStream extends Stream { protected java.io.InputStream istrm; public DotNetInputStream(java.io.InputStream istrm) { this.istrm = istrm; } /** @property */ public java.io.InputStream get_JavaStream() { return istrm; } /** @property */ public boolean get_CanRead() { return true; } /** @property */ public boolean get_CanSeek() { return false; } /** @property */ public boolean get_CanWrite() { return false; } /** @property */ public long get_Length() { throw new System.NotSupportedException(); } /** @property */ public long get_Position() { throw new System.NotSupportedException(); } /** @property */ public void set_Position(long pos) { throw new System.NotSupportedException(); } public void Flush() { //do nothing } public int Read(ubyte[] buffer, int offset, int count) throws System.IO.IOException { int readBytes; try { readBytes = istrm.read((byte[])(Object)buffer, offset, count); } catch (java.io.IOException ioe) { throw new System.IO.IOException(ioe.get_Message()); } return readBytes; } public long Seek(long offset, SeekOrigin origin) { throw new System.NotSupportedException(); } public void SetLength(long value) { throw new System.NotSupportedException(); } public void Write(ubyte[] buffer, int offset, int count) { throw new System.NotSupportedException(); } public void Close() throws System.ObjectDisposedException { try { istrm.close(); } catch (java.io.IOException ioe) { throw new System.ObjectDisposedException(ioe.getMessage()); } } }