org.openide.util.io
Class NbObjectInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--java.io.ObjectInputStream
              |
              +--org.openide.util.io.NbObjectInputStream
All Implemented Interfaces:
DataInput, ObjectInput, ObjectStreamConstants

public class NbObjectInputStream
extends ObjectInputStream

Controlled deserialization stream using the system class loader. Employs the classloader available from lookup (currently that used for modules). Also contains static methods to safely read objects that might have problems during deserialization that should not corrupt the stream.


Inner classes inherited from class java.io.ObjectInputStream
ObjectInputStream.GetField
 
Fields inherited from interface java.io.ObjectStreamConstants
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, 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_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
 
Constructor Summary
NbObjectInputStream(InputStream is)
          Create a new object input.
 
Method Summary
static Object readSafely(ObjectInput oi)
          Reads an object from the given object input.
protected  Class resolveClass(ObjectStreamClass v)
           
static void skipSafely(ObjectInput oi)
          Skips an object from the given object input without loading it.
 
Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, resolveProxyClass, skipBytes
 
Methods inherited from class java.io.InputStream
mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.io.ObjectInput
read, skip
 

Constructor Detail

NbObjectInputStream

public NbObjectInputStream(InputStream is)
                    throws IOException
Create a new object input.
Parameters:
is - underlying input stream
Throws:
IOException - for the usual reasons
Method Detail

resolveClass

protected Class resolveClass(ObjectStreamClass v)
                      throws IOException,
                             ClassNotFoundException
Overrides:
resolveClass in class ObjectInputStream

readSafely

public static Object readSafely(ObjectInput oi)
                         throws IOException
Reads an object from the given object input. The object had to be saved by the NbObjectOutputStream.writeSafely(java.io.ObjectOutput, java.lang.Object) method.
Parameters:
oi - object input
Returns:
the read object
Throws:
IOException - if IO error occured
SafeException - if the operation failed but the stream is ok for further reading

skipSafely

public static void skipSafely(ObjectInput oi)
                       throws IOException
Skips an object from the given object input without loading it. The object had to be saved by the NbObjectOutputStream.writeSafely(java.io.ObjectOutput, java.lang.Object) method.
Parameters:
oi - object input
Throws:
IOException - if an I/O error occurred


Built on December 12 2001.  |  Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.