org.codehaus.gpars

groovyx.gpars.serial
[Java] Class WithSerialId

java.lang.Object
  groovyx.gpars.serial.WithSerialId
All Implemented Interfaces:
java.io.Serializable

public abstract class WithSerialId
extends java.lang.Object

Base class for objects which can be exposed to remote nodes via serialization.

Main concept is following: - each object belongs to some LocalHost - every object can be exposed to any RemoteHost - on remote host object is represented by proxy usually called remote object - for serialization we use writeReplace method, which creates special handle to be serialized instead of the object - for deserialization handle's readResolve method creates remote object (proxy)

See java.io.Serializable for detailed description how methods writeReplace & readResolve works.

It is very important to know that (de)serialization never happens by itself but always happens in context of RemoteHost and (

link:
LocalHost}. Such context is used for right resolution/transformation of objects
Authors:
Alex Tkachman


Field Summary
SerialHandle serialHandle

See SerialHandle class for details

private static long serialVersionUID

 
Constructor Summary
WithSerialId()

 
Method Summary
protected RemoteHandle createRemoteHandle(SerialHandle handle, SerialContext host)

SerialHandle getOrCreateSerialHandle()

Gets serial handle for the object If needed new handle created and serialization host subscribed for the object handle

java.lang.Class getRemoteClass()

Class of remote object to be created

protected java.lang.Object writeReplace()

Replace object by handle for serialization

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

serialHandle

public SerialHandle serialHandle
See SerialHandle class for details


serialVersionUID

private static final long serialVersionUID


 
Constructor Detail

WithSerialId

WithSerialId()


 
Method Detail

createRemoteHandle

protected RemoteHandle createRemoteHandle(SerialHandle handle, SerialContext host)


getOrCreateSerialHandle

public final SerialHandle getOrCreateSerialHandle()
Gets serial handle for the object If needed new handle created and serialization host subscribed for the object handle
Returns:
serial handle for the object


getRemoteClass

public java.lang.Class getRemoteClass()
Class of remote object to be created
Returns:
Throws UnsupportedOperationException


writeReplace

@SuppressWarnings({"UnusedDeclaration"})
protected final java.lang.Object writeReplace()
Replace object by handle for serialization
throws:
ObjectStreamException If the object cannot be serialized
Returns:
handle to serialize


 

Copyright © 2008–2010 Václav Pech. All Rights Reserved.