// **********************************************************************
//
// 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 OutputStreamI implements OutputStream
{
public
OutputStreamI(Communicator communicator)
{
this(communicator, new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false));
}
public
OutputStreamI(Communicator communicator, IceInternal.BasicStream os)
{
_communicator = communicator;
_os = os;
_os.closure(this);
}
public Communicator
communicator()
{
return _communicator;
}
public void
writeBool(boolean v)
{
_os.writeBool(v);
}
public void
writeBoolSeq(boolean[] v)
{
_os.writeBoolSeq(v);
}
public void
writeByte(byte v)
{
_os.writeByte(v);
}
public void
writeByteSeq(byte[] v)
{
_os.writeByteSeq(v);
}
public void
writeSerializable(java.io.Serializable v)
{
_os.writeSerializable(v);
}
public void
writeShort(short v)
{
_os.writeShort(v);
}
public void
writeShortSeq(short[] v)
{
_os.writeShortSeq(v);
}
public void
writeInt(int v)
{
_os.writeInt(v);
}
public void
writeIntSeq(int[] v)
{
_os.writeIntSeq(v);
}
public void
writeLong(long v)
{
_os.writeLong(v);
}
public void
writeLongSeq(long[] v)
{
_os.writeLongSeq(v);
}
public void
writeFloat(float v)
{
_os.writeFloat(v);
}
public void
writeFloatSeq(float[] v)
{
_os.writeFloatSeq(v);
}
public void
writeDouble(double v)
{
_os.writeDouble(v);
}
public void
writeDoubleSeq(double[] v)
{
_os.writeDoubleSeq(v);
}
public void
writeString(String v)
{
_os.writeString(v);
}
public void
writeStringSeq(String[] v)
{
_os.writeStringSeq(v);
}
public void
writeSize(int sz)
{
if(sz < 0)
{
throw new MarshalException();
}
_os.writeSize(sz);
}
public void
writeProxy(ObjectPrx v)
{
_os.writeProxy(v);
}
public void
writeObject(Ice.Object v)
{
_os.writeObject(v);
}
public void
writeTypeId(String id)
{
_os.writeTypeId(id);
}
public void
writeException(UserException v)
{
_os.writeUserException(v);
}
public void
startSlice()
{
_os.startWriteSlice();
}
public void
endSlice()
{
_os.endWriteSlice();
}
public void
startEncapsulation()
{
_os.startWriteEncaps();
}
public void
endEncapsulation()
{
_os.endWriteEncapsChecked();
}
public void
writePendingObjects()
{
_os.writePendingObjects();
}
public byte[]
finished()
{
IceInternal.Buffer buf = _os.prepareWrite();
byte[] result = new byte[buf.b.limit()];
buf.b.get(result);
return result;
}
public void
reset(boolean clearBuffer)
{
_os.clear();
IceInternal.Buffer buf = _os.getBuffer();
if(clearBuffer)
{
buf.clear();
}
else
{
buf.reset();
}
buf.b.position(0);
}
public void
destroy()
{
if(_os != null)
{
_os = null;
}
}
private Communicator _communicator;
private IceInternal.BasicStream _os;
}