Package org.jboss.util.stream
Class MarshalledValueOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.ObjectOutputStream
-
- org.jboss.util.stream.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 $
-
-
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
-
-
-
-
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 classjava.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 classjava.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 classjava.io.ObjectOutputStream
- Throws:
java.io.IOException
-
-