uka.karmi.rmi
Class CopyEnvironment

java.lang.Object
  extended byuka.transport.DeepClone
      extended byuka.karmi.rmi.CopyEnvironment
All Implemented Interfaces:
Printable, java.io.Serializable

public final class CopyEnvironment
extends DeepClone

The CopyEnvironment object is used to duplicate arguments and results. It is used whenever server and client object are in the same address space. In this case argument and return value are duplicated to preserve the copy semantics of a remote call.

Author:
Christian Nester, Bernhard Haumacher
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class uka.transport.DeepClone
 
Field Summary
 CopyEnvironment next
          environments can be chained
 
Fields inherited from class uka.transport.DeepClone
 
Constructor Summary
CopyEnvironment()
           
 
Method Summary
protected  boolean preserveReference(java.lang.Object orig)
          Prevent replicated objects from being cloned when they are passed as arguments to remote method invocations to local objects.
protected  java.lang.Object replaceObject(java.lang.Object obj)
           
 
Methods inherited from class uka.transport.DeepClone
add, appendTo, doDeepClone, doDeepClone, internalCloneByMarshal, internalDeepClone, internalDeepCloneAnonymous, reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

next

public CopyEnvironment next
environments can be chained

Constructor Detail

CopyEnvironment

public CopyEnvironment()
Method Detail

replaceObject

protected java.lang.Object replaceObject(java.lang.Object obj)
                                  throws java.io.IOException
Overrides:
replaceObject in class DeepClone
Throws:
java.io.IOException

preserveReference

protected boolean preserveReference(java.lang.Object orig)
Prevent replicated objects from being cloned when they are passed as arguments to remote method invocations to local objects.

Overrides:
preserveReference in class DeepClone