org.jboss.aop.util
Class MarshalledValueOutputStream

java.lang.Object
  extended byjava.io.OutputStream
      extended byjava.io.ObjectOutputStream
          extended byorg.jboss.aop.util.MarshalledValueOutputStream
All Implemented Interfaces:
DataOutput, 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: 1.2 $
Author:
Scott.Stark@jboss.org

Nested Class Summary
 
Nested classes 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_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
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.

Method Detail

annotateClass

protected void annotateClass(Class cl)
                      throws IOException
Throws:
IOException - Any exception thrown by the underlying OutputStream.

annotateProxyClass

protected void annotateProxyClass(Class cl)
                           throws IOException
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.

Throws:
IOException


Copyright © 2004 JBoss Inc. All Rights Reserved.