// ********************************************************************** // // Copyright (c) 2003-2010 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** package Ice; public class InputStreamI implements InputStream { public InputStreamI(Communicator communicator, byte[] data) { _communicator = communicator; _is = new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false); _is.closure(this); _is.resize(data.length, true); IceInternal.Buffer buf = _is.getBuffer(); buf.b.position(0); buf.b.put(data); buf.b.position(0); } public Communicator communicator() { return _communicator; } public void sliceObjects(boolean slice) { _is.sliceObjects(slice); } public boolean readBool() { return _is.readBool(); } public boolean[] readBoolSeq() { return _is.readBoolSeq(); } public byte readByte() { return _is.readByte(); } public byte[] readByteSeq() { return _is.readByteSeq(); } public java.io.Serializable readSerializable() { return _is.readSerializable(); } public short readShort() { return _is.readShort(); } public short[] readShortSeq() { return _is.readShortSeq(); } public int readInt() { return _is.readInt(); } public int[] readIntSeq() { return _is.readIntSeq(); } public long readLong() { return _is.readLong(); } public long[] readLongSeq() { return _is.readLongSeq(); } public float readFloat() { return _is.readFloat(); } public float[] readFloatSeq() { return _is.readFloatSeq(); } public double readDouble() { return _is.readDouble(); } public double[] readDoubleSeq() { return _is.readDoubleSeq(); } public String readString() { return _is.readString(); } public String[] readStringSeq() { return _is.readStringSeq(); } public int readSize() { return _is.readSize(); } public int readAndCheckSeqSize(int minWire) { return _is.readAndCheckSeqSize(minWire); } public ObjectPrx readProxy() { return _is.readProxy(); } private static class Patcher implements IceInternal.Patcher { Patcher(ReadObjectCallback cb) { _cb = cb; } public void patch(Ice.Object v) { _cb.invoke(v); } public String type() { return "unknown"; } ReadObjectCallback _cb; } public void readObject(ReadObjectCallback cb) { _is.readObject(new Patcher(cb)); } public String readTypeId() { return _is.readTypeId(); } public void throwException() throws UserException { _is.throwException(); } public void startSlice() { _is.startReadSlice(); } public void endSlice() { _is.endReadSlice(); } public void skipSlice() { _is.skipSlice(); } public void startEncapsulation() { _is.startReadEncaps(); } public void skipEncapsulation() { _is.skipEncaps(); } public void endEncapsulation() { _is.endReadEncapsChecked(); } public void readPendingObjects() { _is.readPendingObjects(); } public void rewind() { _is.clear(); _is.getBuffer().b.position(0); } public void destroy() { if(_is != null) { _is = null; } } private Communicator _communicator; private IceInternal.BasicStream _is; }