java.rmi
Class MarshalledObject<T>

java.lang.Object
  extended by java.rmi.MarshalledObject<T>
All Implemented Interfaces:
Serializable

public final class MarshalledObject<T>
extends Object
implements Serializable

A MarshalledObject consists of a serialized object which is marshalled according to the RMI specification.

An object passed to the constructor is serialized and tagged with the needed URL to retrieve its class definition for remote usage. If the object is a remote reference its stub is serialized instead. The instance of this marshalled object can be later retrieved by its get() method.

See Also:
Serialized Form

Constructor Summary
MarshalledObject(T obj)
          Constructs a MarshalledObject from the given object.
 
Method Summary
 boolean equals(Object obj)
          Checks if the given object is equal to this marshalled object.
 T get()
          Constructs and returns a copy of the internal serialized object.
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MarshalledObject

public MarshalledObject(T obj)
                 throws IOException
Constructs a MarshalledObject from the given object.

Parameters:
obj - the object to marshal
Throws:
IOException - if an I/O error during serialization occurs.
Method Detail

equals

public boolean equals(Object obj)
Checks if the given object is equal to this marshalled object.

Marshalled objects are considered equal if they contain the same serialized object. Codebase annotations where the class definition can be downloaded are ignored in the equals test.

Overrides:
equals in class Object
Parameters:
obj - the object to compare.
Returns:
true if equal, false otherwise.
See Also:
Object.hashCode()

get

public T get()
      throws IOException,
             ClassNotFoundException
Constructs and returns a copy of the internal serialized object.

Returns:
The deserialized object.
Throws:
IOException - if an I/O exception occurs during deserialization.
ClassNotFoundException - if the class of the deserialized object cannot be found.

hashCode

public int hashCode()
Description copied from class: Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

Notice that since hashCode is used in Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)

Overrides:
hashCode in class Object
Returns:
the hash code for this Object
See Also:
Object.equals(Object), System.identityHashCode(Object)