org.jboss.aop.util
Class MarshalledValueOutputStream

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

public class MarshalledValueOutputStream
extends 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: 71276 $
Author:
Scott.Stark@jboss.org

Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectOutputStream
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
MarshalledValueOutputStream(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
protected  void annotateClass(Class<?> cl)
           
protected  void annotateProxyClass(Class<?> cl)
           
protected  Object replaceObject(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.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MarshalledValueOutputStream

public MarshalledValueOutputStream(OutputStream os)
                            throws 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.

Throws:
IOException
Method Detail

annotateClass

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

annotateProxyClass

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

replaceObject

protected Object replaceObject(Object obj)
                        throws IOException
Override replaceObject to check for Remote objects that are not RemoteStubs.

Overrides:
replaceObject in class ObjectOutputStream
Throws:
IOException


Copyright © 2008 JBoss, a division of Red Hat, Inc.. All Rights Reserved.