wt.pds
Class PDSEncoder.RewriteCheckingDecodeObjectInputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byjava.io.ObjectInputStream
          extended bywt.pds.PDSEncoder.DecodeObjectInputStream
              extended bywt.pds.PDSEncoder.RewriteCheckingDecodeObjectInputStream
All Implemented Interfaces:
DataInput, ObjectInput, ObjectStreamConstants, PDSObjectInput
Enclosing class:
PDSEncoder

static class PDSEncoder.RewriteCheckingDecodeObjectInputStream
extends PDSEncoder.DecodeObjectInputStream

This class exists to deal with bad versions of the wt.meta.LocalizedValue class if they're encountered during (small)blob decodings.


Nested Class Summary
 
Nested classes inherited from class java.io.ObjectInputStream
ObjectInputStream.GetField
 
Field Summary
 
Fields inherited from class java.io.ObjectInputStream
 
Fields inherited from class java.io.InputStream
 
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
private PDSEncoder.RewriteCheckingDecodeObjectInputStream(PDSEncoder.InputRedirector redirector)
           
 
Method Summary
 void close()
           
(package private) static PDSEncoder.DecodeObjectInputStream newInstance(InputStream in)
           
(package private) static PDSEncoder.DecodeObjectInputStream newInstance(String str)
           
protected  ObjectStreamClass readClassDescriptor()
          Read the class descriptor from the stream, but for select cases (e.g.
(package private)  void resetStream()
           
protected  Class resolveClass(ObjectStreamClass v)
           
(package private)  void setInput(InputStream in)
           
(package private)  void setInput(String str)
           
 
Methods inherited from class java.io.ObjectInputStream
available, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, 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
available, read, read, read, readObject, skip
 
Methods inherited from interface java.io.DataInput
readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, skipBytes
 

Constructor Detail

PDSEncoder.RewriteCheckingDecodeObjectInputStream

private PDSEncoder.RewriteCheckingDecodeObjectInputStream(PDSEncoder.InputRedirector redirector)
                                                   throws IOException
Method Detail

resolveClass

protected Class resolveClass(ObjectStreamClass v)
                      throws IOException,
                             ClassNotFoundException
Throws:
IOException
ClassNotFoundException

newInstance

static PDSEncoder.DecodeObjectInputStream newInstance(String str)
                                               throws IOException
Throws:
IOException

newInstance

static PDSEncoder.DecodeObjectInputStream newInstance(InputStream in)
                                               throws IOException
Throws:
IOException

setInput

void setInput(String str)
        throws IOException
Throws:
IOException

setInput

void setInput(InputStream in)
        throws IOException
Throws:
IOException

resetStream

void resetStream()
           throws IOException
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface ObjectInput
Throws:
IOException

readClassDescriptor

protected ObjectStreamClass readClassDescriptor()
                                         throws IOException,
                                                ClassNotFoundException
Read the class descriptor from the stream, but for select cases (e.g. wt.fc.DynamicEnumType) replace the ObjectStreamClass with one that will allow class validation to succeed and deserialization to be handed over to the serializable class.

Throws:
IOException
ClassNotFoundException