org.jboss.marshalling
Class MarshallerObjectOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.ObjectOutputStream
          extended by org.jboss.marshalling.MarshallerObjectOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.io.ObjectOutput, java.io.ObjectStreamConstants
Direct Known Subclasses:
RiverObjectOutputStream, SerialObjectOutputStream

public abstract class MarshallerObjectOutputStream
extends java.io.ObjectOutputStream

A marshaller's object output stream. Used by marshallers for compatibility with Java serialization. Instances of this class may be passed in to the overriden serialization methods for a class implementing Serializable.

This class is not part of the marshalling API; rather it is intended for marshaller implementors to make it easier to develop Java serialization-compatible marshallers.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectOutputStream
java.io.ObjectOutputStream.PutField
 
Field Summary
 
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, 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
protected MarshallerObjectOutputStream(Marshaller output)
          Construct a new instance that delegates to the given marshaller.
 
Method Summary
protected  void annotateClass(java.lang.Class<?> cl)
          
protected  void annotateProxyClass(java.lang.Class<?> cl)
          
 void close()
          
abstract  void defaultWriteObject()
          
protected  void drain()
          
protected  boolean enableReplaceObject(boolean enable)
          
 void flush()
          
abstract  java.io.ObjectOutputStream.PutField putFields()
          
protected  java.lang.Object replaceObject(java.lang.Object obj)
          
 void reset()
          
 void useProtocolVersion(int version)
          
 void write(byte[] buf)
          
 void write(byte[] buf, int off, int len)
          
 void write(int val)
          
 void writeBoolean(boolean val)
          
 void writeByte(int val)
          
 void writeBytes(java.lang.String str)
          
 void writeChar(int val)
          
 void writeChars(java.lang.String str)
          
protected  void writeClassDescriptor(java.io.ObjectStreamClass desc)
          
 void writeDouble(double val)
          
abstract  void writeFields()
          
 void writeFloat(float val)
          
 void writeInt(int val)
          
 void writeLong(long val)
          
protected  void writeObjectOverride(java.lang.Object obj)
          
 void writeShort(int val)
          
protected  void writeStreamHeader()
          
 void writeUnshared(java.lang.Object obj)
          
 void writeUTF(java.lang.String str)
          
 
Methods inherited from class java.io.ObjectOutputStream
writeObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MarshallerObjectOutputStream

protected MarshallerObjectOutputStream(Marshaller output)
                                throws java.io.IOException,
                                       java.lang.SecurityException
Construct a new instance that delegates to the given marshaller.

Parameters:
output - the delegate marshaller
Throws:
java.io.IOException - if an I/O error occurs
java.lang.SecurityException - if the caller does not have permission to construct an instance of this class
Method Detail

writeObjectOverride

protected void writeObjectOverride(java.lang.Object obj)
                            throws java.io.IOException

Overrides:
writeObjectOverride in class java.io.ObjectOutputStream
Throws:
java.io.IOException

writeUnshared

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

Overrides:
writeUnshared in class java.io.ObjectOutputStream
Throws:
java.io.IOException

write

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

Specified by:
write in interface java.io.DataOutput
Specified by:
write in interface java.io.ObjectOutput
Overrides:
write in class java.io.ObjectOutputStream
Throws:
java.io.IOException

write

public void write(byte[] buf)
           throws java.io.IOException

Specified by:
write in interface java.io.DataOutput
Specified by:
write in interface java.io.ObjectOutput
Overrides:
write in class java.io.ObjectOutputStream
Throws:
java.io.IOException

write

public void write(byte[] buf,
                  int off,
                  int len)
           throws java.io.IOException

Specified by:
write in interface java.io.DataOutput
Specified by:
write in interface java.io.ObjectOutput
Overrides:
write in class java.io.ObjectOutputStream
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException

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

writeBoolean

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

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

writeByte

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

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

writeShort

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

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

writeChar

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

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

writeInt

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

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

writeLong

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

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

writeFloat

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

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

writeDouble

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

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

writeBytes

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

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

writeChars

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

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

writeUTF

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

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

reset

public final void reset()
                 throws java.io.IOException

Overrides:
reset in class java.io.ObjectOutputStream
Throws:
java.io.IOException

close

public final void close()
                 throws java.io.IOException

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

useProtocolVersion

public final void useProtocolVersion(int version)
                              throws java.io.IOException

Overrides:
useProtocolVersion in class java.io.ObjectOutputStream
Throws:
java.io.IOException

annotateClass

protected final void annotateClass(java.lang.Class<?> cl)
                            throws java.io.IOException

Overrides:
annotateClass in class java.io.ObjectOutputStream
Throws:
java.io.IOException

annotateProxyClass

protected final void annotateProxyClass(java.lang.Class<?> cl)
                                 throws java.io.IOException

Overrides:
annotateProxyClass in class java.io.ObjectOutputStream
Throws:
java.io.IOException

replaceObject

protected final java.lang.Object replaceObject(java.lang.Object obj)
                                        throws java.io.IOException

Overrides:
replaceObject in class java.io.ObjectOutputStream
Throws:
java.io.IOException

enableReplaceObject

protected final boolean enableReplaceObject(boolean enable)
                                     throws java.lang.SecurityException

Overrides:
enableReplaceObject in class java.io.ObjectOutputStream
Throws:
java.lang.SecurityException

writeStreamHeader

protected final void writeStreamHeader()
                                throws java.io.IOException

Overrides:
writeStreamHeader in class java.io.ObjectOutputStream
Throws:
java.io.IOException

writeClassDescriptor

protected final void writeClassDescriptor(java.io.ObjectStreamClass desc)
                                   throws java.io.IOException

Overrides:
writeClassDescriptor in class java.io.ObjectOutputStream
Throws:
java.io.IOException

drain

protected final void drain()
                    throws java.io.IOException

Overrides:
drain in class java.io.ObjectOutputStream
Throws:
java.io.IOException

writeFields

public abstract void writeFields()
                          throws java.io.IOException

Overrides:
writeFields in class java.io.ObjectOutputStream
Throws:
java.io.IOException

putFields

public abstract java.io.ObjectOutputStream.PutField putFields()
                                                       throws java.io.IOException

Overrides:
putFields in class java.io.ObjectOutputStream
Throws:
java.io.IOException

defaultWriteObject

public abstract void defaultWriteObject()
                                 throws java.io.IOException

Overrides:
defaultWriteObject in class java.io.ObjectOutputStream
Throws:
java.io.IOException