org.jppf.serialization
Class JPPFObjectOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.ObjectOutputStream
          extended by org.jppf.serialization.JPPFObjectOutputStream
All Implemented Interfaces:
Closeable, DataOutput, Flushable, ObjectOutput, ObjectStreamConstants

public class JPPFObjectOutputStream
extends ObjectOutputStream

Implementation of ObjectOutputStream that writes objects without regards to whether they implement Serializable or not. This allows using non-serializable classes in JPPF tasks, especially when their source code is not available.

The rest of the ObjectOutputStream specification is respected:

Author:
Laurent Cohen

Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectOutputStream
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
JPPFObjectOutputStream(OutputStream out)
          Initialize this object stream.
 
Method Summary
 void close()
          
 void defaultWriteObject()
          
 void flush()
          
 ObjectOutputStream.PutField putFields()
          
 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(String str)
          
 void writeChar(int val)
          
 void writeChars(String str)
          
 void writeDouble(double val)
          
 void writeFields()
          
 void writeFloat(float val)
          
 void writeInt(int val)
          
 void writeLong(long val)
          
protected  void writeObjectOverride(Object obj)
          
 void writeShort(int val)
          
 void writeUTF(String str)
          
 
Methods inherited from class java.io.ObjectOutputStream
annotateClass, annotateProxyClass, drain, enableReplaceObject, replaceObject, reset, useProtocolVersion, writeClassDescriptor, writeObject, writeStreamHeader, writeUnshared
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JPPFObjectOutputStream

public JPPFObjectOutputStream(OutputStream out)
                       throws IOException
Initialize this object stream.

Parameters:
out - the stream to write objects to.
Throws:
IOException - if any error occurs.
Method Detail

writeObjectOverride

protected final void writeObjectOverride(Object obj)
                                  throws IOException

Overrides:
writeObjectOverride in class ObjectOutputStream
Throws:
IOException

write

public void write(int val)
           throws IOException

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

write

public void write(byte[] buf)
           throws IOException

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

write

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

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

writeBoolean

public void writeBoolean(boolean val)
                  throws IOException

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

writeByte

public void writeByte(int val)
               throws IOException

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

writeShort

public void writeShort(int val)
                throws IOException

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

writeChar

public void writeChar(int val)
               throws IOException

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

writeInt

public void writeInt(int val)
              throws IOException

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

writeLong

public void writeLong(long val)
               throws IOException

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

writeFloat

public void writeFloat(float val)
                throws IOException

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

writeDouble

public void writeDouble(double val)
                 throws IOException

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

writeBytes

public void writeBytes(String str)
                throws IOException

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

writeChars

public void writeChars(String str)
                throws IOException

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

writeUTF

public void writeUTF(String str)
              throws IOException

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

defaultWriteObject

public void defaultWriteObject()
                        throws IOException

Overrides:
defaultWriteObject in class ObjectOutputStream
Throws:
IOException

flush

public void flush()
           throws IOException

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

close

public void close()
           throws IOException

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

putFields

public ObjectOutputStream.PutField putFields()
                                      throws IOException

Overrides:
putFields in class ObjectOutputStream
Throws:
IOException

writeFields

public void writeFields()
                 throws IOException

Overrides:
writeFields in class ObjectOutputStream
Throws:
IOException


Copyright © 2005-2010 JPPF Team.