Package org.jboss.marshalling
Class SimpleDataOutput
- java.lang.Object
-
- java.io.OutputStream
-
- org.jboss.marshalling.SimpleByteOutput
-
- org.jboss.marshalling.ByteOutputStream
-
- org.jboss.marshalling.SimpleDataOutput
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataOutput
,java.io.Flushable
,java.lang.AutoCloseable
,ByteOutput
- Direct Known Subclasses:
AbstractObjectOutput
public class SimpleDataOutput extends ByteOutputStream implements java.io.DataOutput
A simple base implementation ofDataOutput
which wraps aByteOutput
. This implementation maintains an internal buffer.
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
buffer
The internal buffer.protected int
bufferSize
The size of the internal buffer.private int
position
The position in the buffer.-
Fields inherited from class org.jboss.marshalling.ByteOutputStream
byteOutput
-
-
Constructor Summary
Constructors Constructor Description SimpleDataOutput(int bufferSize)
Construct a new instance.SimpleDataOutput(int bufferSize, ByteOutput byteOutput)
Construct a new instance.SimpleDataOutput(ByteOutput byteOutput)
Construct a new instance with a default buffer size.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected void
finish()
Finish writing to a stream.void
flush()
private static java.io.NotActiveException
notActiveException()
protected void
shallowFlush()
This shallow flush will write the internal buffer out to theByteOutput
, but will not flush it.protected void
start(ByteOutput byteOutput)
Begin writing to a stream.void
write(byte[] bytes)
Write all the bytes from the given array to the stream.void
write(byte[] bytes, int off, int len)
Write some of the bytes from the given array to the stream.void
write(int v)
Writes to the output stream the eight low-order bits of the argumentb
.void
writeBoolean(boolean v)
void
writeByte(int v)
void
writeBytes(java.lang.String s)
void
writeChar(int v)
void
writeChars(java.lang.String s)
void
writeDouble(double v)
void
writeFloat(float v)
void
writeInt(int v)
void
writeLong(long v)
void
writeShort(int v)
void
writeUTF(java.lang.String s)
-
-
-
Constructor Detail
-
SimpleDataOutput
public SimpleDataOutput(int bufferSize)
Construct a new instance.- Parameters:
bufferSize
- the buffer size
-
SimpleDataOutput
public SimpleDataOutput(int bufferSize, ByteOutput byteOutput)
Construct a new instance.- Parameters:
bufferSize
- the buffer sizebyteOutput
- the byte output to wrap
-
SimpleDataOutput
public SimpleDataOutput(ByteOutput byteOutput)
Construct a new instance with a default buffer size.- Parameters:
byteOutput
- the byte output to wrap
-
-
Method Detail
-
notActiveException
private static java.io.NotActiveException notActiveException()
-
write
public void write(int v) throws java.io.IOException
Writes to the output stream the eight low-order bits of the argumentb
. The 24 high-order bits ofb
are ignored.- Specified by:
write
in interfaceByteOutput
- Specified by:
write
in interfacejava.io.DataOutput
- Overrides:
write
in classByteOutputStream
- Parameters:
v
- the byte to write- Throws:
java.io.IOException
- if an error occurs
-
write
public void write(byte[] bytes) throws java.io.IOException
Write all the bytes from the given array to the stream.- Specified by:
write
in interfaceByteOutput
- Specified by:
write
in interfacejava.io.DataOutput
- Overrides:
write
in classByteOutputStream
- Parameters:
bytes
- the byte array- Throws:
java.io.IOException
- if an error occurs
-
write
public void write(byte[] bytes, int off, int len) throws java.io.IOException
Write some of the bytes from the given array to the stream.- Specified by:
write
in interfaceByteOutput
- Specified by:
write
in interfacejava.io.DataOutput
- Overrides:
write
in classByteOutputStream
- Parameters:
bytes
- the byte arrayoff
- the index to start writing fromlen
- the number of bytes to write- Throws:
java.io.IOException
- if an error occurs
-
writeBoolean
public void writeBoolean(boolean v) throws java.io.IOException
- Specified by:
writeBoolean
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeByte
public void writeByte(int v) throws java.io.IOException
- Specified by:
writeByte
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeShort
public void writeShort(int v) throws java.io.IOException
- Specified by:
writeShort
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeChar
public void writeChar(int v) throws java.io.IOException
- Specified by:
writeChar
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeInt
public void writeInt(int v) throws java.io.IOException
- Specified by:
writeInt
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeLong
public void writeLong(long v) throws java.io.IOException
- Specified by:
writeLong
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeFloat
public void writeFloat(float v) throws java.io.IOException
- Specified by:
writeFloat
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeDouble
public void writeDouble(double v) throws java.io.IOException
- Specified by:
writeDouble
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeBytes
public void writeBytes(java.lang.String s) throws java.io.IOException
- Specified by:
writeBytes
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeChars
public void writeChars(java.lang.String s) throws java.io.IOException
- Specified by:
writeChars
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
writeUTF
public void writeUTF(java.lang.String s) throws java.io.IOException
- Specified by:
writeUTF
in interfacejava.io.DataOutput
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classByteOutputStream
- Throws:
java.io.IOException
-
shallowFlush
protected void shallowFlush() throws java.io.IOException
This shallow flush will write the internal buffer out to theByteOutput
, but will not flush it.- Throws:
java.io.IOException
- if an I/O error occurs
-
start
protected void start(ByteOutput byteOutput) throws java.io.IOException
Begin writing to a stream.- Parameters:
byteOutput
- the new stream- Throws:
java.io.IOException
- if an error occurs
-
finish
protected void finish() throws java.io.IOException
Finish writing to a stream. The stream is released. No further writing may be done until thestart(ByteOutput)
method is again invoked.- Throws:
java.io.IOException
- if an error occurs
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classByteOutputStream
- Throws:
java.io.IOException
-
-