Package org.jboss.marshalling.serial
Class BlockMarshaller
- java.lang.Object
-
- org.jboss.marshalling.serial.BlockMarshaller
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataOutput
,java.io.Flushable
,java.io.ObjectOutput
,java.io.ObjectStreamConstants
,java.lang.AutoCloseable
,ByteOutput
,Marshaller
,ExtendedObjectStreamConstants
public final class BlockMarshaller extends java.lang.Object implements Marshaller, ExtendedObjectStreamConstants
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
buffer
private int
position
private SerialMarshaller
serialMarshaller
-
Fields inherited from interface org.jboss.marshalling.serial.ExtendedObjectStreamConstants
TC_CLASSTABLEDESC, TC_OBJECTTABLE
-
Fields inherited from interface java.io.ObjectStreamConstants
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, SERIAL_FILTER_PERMISSION, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
-
-
Constructor Summary
Constructors Constructor Description BlockMarshaller(SerialMarshaller marshaller, int bufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearClassCache()
Discard the class cache.void
clearInstanceCache()
Discard the instance cache.void
close()
private void
doWriteObject(java.lang.Object obj, boolean unshared)
void
finish()
Finish marshalling to a stream.void
flush()
void
start(ByteOutput newOutput)
Begin marshalling to a stream.void
write(byte[] b)
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
writeObject(java.lang.Object obj)
void
writeObjectUnshared(java.lang.Object obj)
Write an object to the underlying storage or stream as a new instance.void
writeShort(int v)
void
writeUTF(java.lang.String s)
-
-
-
Field Detail
-
serialMarshaller
private final SerialMarshaller serialMarshaller
-
buffer
private final byte[] buffer
-
position
private int position
-
-
Constructor Detail
-
BlockMarshaller
BlockMarshaller(SerialMarshaller marshaller, int bufferSize)
-
-
Method Detail
-
start
public void start(ByteOutput newOutput) throws java.io.IOException
Description copied from interface:Marshaller
Begin marshalling to a stream.- Specified by:
start
in interfaceMarshaller
- Parameters:
newOutput
- the new stream- Throws:
java.io.IOException
- if an error occurs during setup, such as an error writing the header
-
clearInstanceCache
public void clearInstanceCache() throws java.io.IOException
Description copied from interface:Marshaller
Discard the instance cache. May also discard the class cache in implementations that do not support separated class and instance caches.- Specified by:
clearInstanceCache
in interfaceMarshaller
- Throws:
java.io.IOException
- if an error occurs
-
clearClassCache
public void clearClassCache() throws java.io.IOException
Description copied from interface:Marshaller
Discard the class cache. Implicitly also discards the instance cache.- Specified by:
clearClassCache
in interfaceMarshaller
- Throws:
java.io.IOException
- if an error occurs
-
finish
public void finish() throws java.io.IOException
Description copied from interface:Marshaller
Finish marshalling to a stream. Any transient class or instance cache is discarded. The stream is released. No further marshalling may be done until theMarshaller.start(ByteOutput)
method is again invoked.- Specified by:
finish
in interfaceMarshaller
- Throws:
java.io.IOException
- if an error occurs
-
writeObject
public void writeObject(java.lang.Object obj) throws java.io.IOException
- Specified by:
writeObject
in interfacejava.io.ObjectOutput
- Throws:
java.io.IOException
-
writeObjectUnshared
public void writeObjectUnshared(java.lang.Object obj) throws java.io.IOException
Description copied from interface:Marshaller
Write an object to the underlying storage or stream as a new instance. The class that implements this interface defines how the object is written.- Specified by:
writeObjectUnshared
in interfaceMarshaller
- Parameters:
obj
- the object to be written- Throws:
java.io.IOException
- if an error occurs
-
doWriteObject
private void doWriteObject(java.lang.Object obj, boolean unshared) throws java.io.IOException
- Throws:
java.io.IOException
-
write
public void write(int v) throws java.io.IOException
Description copied from interface:ByteOutput
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
- Specified by:
write
in interfacejava.io.ObjectOutput
- Parameters:
v
- the byte to write- Throws:
java.io.IOException
- if an error occurs
-
write
public void write(byte[] b) throws java.io.IOException
Description copied from interface:ByteOutput
Write all the bytes from the given array to the stream.- Specified by:
write
in interfaceByteOutput
- Specified by:
write
in interfacejava.io.DataOutput
- Specified by:
write
in interfacejava.io.ObjectOutput
- Parameters:
b
- 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
Description copied from interface:ByteOutput
Write some of the bytes from the given array to the stream.- Specified by:
write
in interfaceByteOutput
- Specified by:
write
in interfacejava.io.DataOutput
- Specified by:
write
in interfacejava.io.ObjectOutput
- 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
- Specified by:
flush
in interfacejava.io.ObjectOutput
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfacejava.io.ObjectOutput
- Throws:
java.io.IOException
-
-