org.jboss.marshalling
Class ObjectOutputStreamMarshaller

java.lang.Object
  extended by org.jboss.marshalling.ObjectOutputStreamMarshaller
All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.io.ObjectOutput, ByteOutput, Marshaller

public class ObjectOutputStreamMarshaller
extends java.lang.Object
implements Marshaller

A Marshaller which simply wraps an object stream. Useful for retrofitting and testing applications.


Constructor Summary
ObjectOutputStreamMarshaller(java.io.ObjectOutputStream oos)
          Construct a new instance which wraps the given stream.
 
Method Summary
 void clearClassCache()
          Discard the class cache.
 void clearInstanceCache()
          Discard the instance cache.
 void close()
          
 void finish()
          Finish marshalling to a stream.
 void flush()
          
 void start(ByteOutput newOutput)
          Begin marshalling to a stream.
 void write(byte[] buf)
          Write all the bytes from the given array to the stream.
 void write(byte[] buf, int off, int len)
          Write some of the bytes from the given array to the stream.
 void write(int val)
          Writes to the output stream the eight low-order bits of the argument b.
 void writeBoolean(boolean val)
          
 void writeByte(int val)
          
 void writeBytes(java.lang.String str)
          
 void writeChar(int val)
          
 void writeChars(java.lang.String str)
          
 void writeDouble(double val)
          
 void writeFloat(float val)
          
 void writeInt(int val)
          
 void writeLong(long val)
          
 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 val)
          
 void writeUTF(java.lang.String str)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectOutputStreamMarshaller

public ObjectOutputStreamMarshaller(java.io.ObjectOutputStream oos)
Construct a new instance which wraps the given stream.

Parameters:
oos - the object stream to wrap
Method Detail

writeObject

public void writeObject(java.lang.Object obj)
                 throws java.io.IOException

Specified by:
writeObject in interface java.io.ObjectOutput
Throws:
java.io.IOException

write

public void write(int val)
           throws java.io.IOException
Writes to the output stream the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

Specified by:
write in interface java.io.DataOutput
Specified by:
write in interface java.io.ObjectOutput
Specified by:
write in interface ByteOutput
Parameters:
val - the byte to write
Throws:
java.io.IOException - if an error occurs

write

public void write(byte[] buf)
           throws java.io.IOException
Write all the bytes from the given array to the stream.

Specified by:
write in interface java.io.DataOutput
Specified by:
write in interface java.io.ObjectOutput
Specified by:
write in interface ByteOutput
Parameters:
buf - the byte array
Throws:
java.io.IOException - if an error occurs

write

public void write(byte[] buf,
                  int off,
                  int len)
           throws java.io.IOException
Write some of the bytes from the given array to the stream.

Specified by:
write in interface java.io.DataOutput
Specified by:
write in interface java.io.ObjectOutput
Specified by:
write in interface ByteOutput
Parameters:
buf - the byte array
off - the index to start writing from
len - the number of bytes to write
Throws:
java.io.IOException - if an error occurs

flush

public void flush()
           throws java.io.IOException

Specified by:
flush in interface java.io.Flushable
Specified by:
flush in interface java.io.ObjectOutput
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException

Specified by:
close in interface java.io.Closeable
Specified by:
close in interface java.io.ObjectOutput
Throws:
java.io.IOException

writeBoolean

public void writeBoolean(boolean val)
                  throws java.io.IOException

Specified by:
writeBoolean in interface java.io.DataOutput
Throws:
java.io.IOException

writeByte

public void writeByte(int val)
               throws java.io.IOException

Specified by:
writeByte in interface java.io.DataOutput
Throws:
java.io.IOException

writeShort

public void writeShort(int val)
                throws java.io.IOException

Specified by:
writeShort in interface java.io.DataOutput
Throws:
java.io.IOException

writeChar

public void writeChar(int val)
               throws java.io.IOException

Specified by:
writeChar in interface java.io.DataOutput
Throws:
java.io.IOException

writeInt

public void writeInt(int val)
              throws java.io.IOException

Specified by:
writeInt in interface java.io.DataOutput
Throws:
java.io.IOException

writeLong

public void writeLong(long val)
               throws java.io.IOException

Specified by:
writeLong in interface java.io.DataOutput
Throws:
java.io.IOException

writeFloat

public void writeFloat(float val)
                throws java.io.IOException

Specified by:
writeFloat in interface java.io.DataOutput
Throws:
java.io.IOException

writeDouble

public void writeDouble(double val)
                 throws java.io.IOException

Specified by:
writeDouble in interface java.io.DataOutput
Throws:
java.io.IOException

writeBytes

public void writeBytes(java.lang.String str)
                throws java.io.IOException

Specified by:
writeBytes in interface java.io.DataOutput
Throws:
java.io.IOException

writeChars

public void writeChars(java.lang.String str)
                throws java.io.IOException

Specified by:
writeChars in interface java.io.DataOutput
Throws:
java.io.IOException

writeUTF

public void writeUTF(java.lang.String str)
              throws java.io.IOException

Specified by:
writeUTF in interface java.io.DataOutput
Throws:
java.io.IOException

writeObjectUnshared

public void writeObjectUnshared(java.lang.Object obj)
                         throws java.io.IOException
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 interface Marshaller
Parameters:
obj - the object to be written
Throws:
java.io.IOException - if an error occurs

start

public void start(ByteOutput newOutput)
           throws java.io.IOException
Begin marshalling to a stream.

Specified by:
start in interface Marshaller
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
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 interface Marshaller
Throws:
java.io.IOException - if an error occurs

clearClassCache

public void clearClassCache()
                     throws java.io.IOException
Discard the class cache. Implicitly also discards the instance cache.

Specified by:
clearClassCache in interface Marshaller
Throws:
java.io.IOException - if an error occurs

finish

public void finish()
            throws java.io.IOException
Finish marshalling to a stream. Any transient class or instance cache is discarded. The stream is released. No further marshalling may be done until the Marshaller.start(ByteOutput) method is again invoked.

Specified by:
finish in interface Marshaller
Throws:
java.io.IOException - if an error occurs