org.openide.util.io
Class NbObjectOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.ObjectOutputStream
          extended by org.openide.util.io.NbObjectOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.io.ObjectOutput, java.io.ObjectStreamConstants

public class NbObjectOutputStream
extends java.io.ObjectOutputStream

Object output stream that could in the future be smart about saving certain objects. Also static methods to safely write an object that could cause problems during later deserialization.


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
NbObjectOutputStream(java.io.OutputStream os)
          Create a new object output.
 
Method Summary
protected  void annotateClass(java.lang.Class cl)
           
 java.lang.Object replaceObject(java.lang.Object obj)
           
static void writeSafely(java.io.ObjectOutput oo, java.lang.Object obj)
          Writes an object safely to the object output.
 
Methods inherited from class java.io.ObjectOutputStream
annotateProxyClass, close, defaultWriteObject, drain, enableReplaceObject, flush, putFields, reset, useProtocolVersion, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeClassDescriptor, writeDouble, writeFields, writeFloat, writeInt, writeLong, writeObject, writeObjectOverride, writeShort, writeStreamHeader, writeUnshared, writeUTF
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NbObjectOutputStream

public NbObjectOutputStream(java.io.OutputStream os)
                     throws java.io.IOException
Create a new object output.

Parameters:
os - the underlying output stream
Throws:
java.io.IOException - for the usual reasons
Method Detail

replaceObject

public java.lang.Object replaceObject(java.lang.Object obj)
                               throws java.io.IOException
Overrides:
replaceObject in class java.io.ObjectOutputStream
Throws:
java.io.IOException

writeSafely

public static void writeSafely(java.io.ObjectOutput oo,
                               java.lang.Object obj)
                        throws java.io.IOException
Writes an object safely to the object output. Can be read by NbObjectInputStream.readSafely(java.io.ObjectInput).

Parameters:
oo - object output to write to
obj - the object to write
Throws:
SafeException - if the object simply fails to be serialized
java.io.IOException - if something more serious fails

annotateClass

protected void annotateClass(java.lang.Class cl)
                      throws java.io.IOException
Overrides:
annotateClass in class java.io.ObjectOutputStream
Throws:
java.io.IOException