Class MarshalledValueOutputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.io.ObjectOutput, java.io.ObjectStreamConstants, java.lang.AutoCloseable

    public class MarshalledValueOutputStream
    extends java.io.ObjectOutputStream
    An ObjectOutputStream subclass used by the MarshalledValue class to ensure the classes and proxies are loaded using the thread context class loader. Currently this does not do anything as neither class or proxy annotations are used.
    Version:
    $Revision: 37406 $
    • 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, SERIAL_FILTER_PERMISSION, 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

      Constructors 
      Constructor Description
      MarshalledValueOutputStream​(java.io.OutputStream os)
      Creates a new instance of MarshalledValueOutputStream If there is a security manager installed, this method requires a SerializablePermission("enableSubstitution") permission to ensure it's ok to enable the stream to do replacement of objects in the stream.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void annotateClass​(java.lang.Class<?> cl)  
      protected void annotateProxyClass​(java.lang.Class<?> cl)  
      protected java.lang.Object replaceObject​(java.lang.Object obj)
      Override replaceObject to check for Remote objects that are not RemoteStubs.
      • Methods inherited from class java.io.ObjectOutputStream

        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.io.OutputStream

        nullOutputStream
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MarshalledValueOutputStream

        public MarshalledValueOutputStream​(java.io.OutputStream os)
                                    throws java.io.IOException
        Creates a new instance of MarshalledValueOutputStream If there is a security manager installed, this method requires a SerializablePermission("enableSubstitution") permission to ensure it's ok to enable the stream to do replacement of objects in the stream.
        Parameters:
        os -
        Throws:
        java.io.IOException
    • Method Detail

      • annotateClass

        protected void annotateClass​(java.lang.Class<?> cl)
                              throws java.io.IOException
        Overrides:
        annotateClass in class java.io.ObjectOutputStream
        Throws:
        java.io.IOException - Any exception thrown by the underlying OutputStream.
      • annotateProxyClass

        protected void annotateProxyClass​(java.lang.Class<?> cl)
                                   throws java.io.IOException
        Overrides:
        annotateProxyClass in class java.io.ObjectOutputStream
        Throws:
        java.io.IOException - Any exception thrown by the underlying OutputStream.
      • replaceObject

        protected java.lang.Object replaceObject​(java.lang.Object obj)
                                          throws java.io.IOException
        Override replaceObject to check for Remote objects that are not RemoteStubs.
        Overrides:
        replaceObject in class java.io.ObjectOutputStream
        Throws:
        java.io.IOException