org.codehaus.gpars

groovyx.gpars.serial
[Java] Class SerialHandle

java.lang.Object
  org.codehaus.groovy.util.ManagedReference
      groovyx.gpars.serial.SerialHandle

public class SerialHandle
extends org.codehaus.groovy.util.ManagedReference

Weak reference to object, which was serialized to remote hosts. Also keep ids of all hosts, where the object was serialized.

While subscribed by remote nodes it keeps object alive by holding strong reference (anchor) to it

Authors:
Alex Tkachman


Nested Class Summary
private static class SerialHandle.LocalSerialHandle

private static class SerialHandle.RemoteSerialHandle

 
Field Summary
private WithSerialId anchor

private static org.codehaus.groovy.util.ReferenceBundle bundle

protected SerialContext context

local host

private static org.codehaus.groovy.util.ReferenceManager manager

private static java.lang.ref.ReferenceQueue queue

protected java.util.UUID serialId

serial id of the object

private java.lang.Object subscribers

remote hosts subscribed to this objects

 
Constructor Summary
private SerialHandle(WithSerialId value, java.util.UUID id)

Construct handle for object with given id to it

 
Method Summary
static SerialHandle create(WithSerialId obj, java.util.UUID id)

void finalizeReference()

java.util.UUID getSerialId()

Serial id of the object

java.lang.Object getSubscribers()

Getter for subscribers

void subscribe(SerialContext context)

Subscribes host as interested in the object

void unsubscribe(SerialContext context)

 
Methods inherited from class org.codehaus.groovy.util.ManagedReference
org.codehaus.groovy.util.ManagedReference#get(), org.codehaus.groovy.util.ManagedReference#clear(), org.codehaus.groovy.util.ManagedReference#finalizeReference(), org.codehaus.groovy.util.ManagedReference#wait(long), org.codehaus.groovy.util.ManagedReference#wait(), org.codehaus.groovy.util.ManagedReference#wait(long, int), org.codehaus.groovy.util.ManagedReference#equals(java.lang.Object), org.codehaus.groovy.util.ManagedReference#toString(), org.codehaus.groovy.util.ManagedReference#hashCode(), org.codehaus.groovy.util.ManagedReference#getClass(), org.codehaus.groovy.util.ManagedReference#notify(), org.codehaus.groovy.util.ManagedReference#notifyAll()
 
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

anchor

@SuppressWarnings("unused")
private WithSerialId anchor


bundle

private static final org.codehaus.groovy.util.ReferenceBundle bundle


context

protected final SerialContext context
local host


manager

private static final org.codehaus.groovy.util.ReferenceManager manager


queue

private static final java.lang.ref.ReferenceQueue queue


serialId

protected final java.util.UUID serialId
serial id of the object


subscribers

private java.lang.Object subscribers
remote hosts subscribed to this objects


 
Constructor Detail

SerialHandle

private SerialHandle(WithSerialId value, java.util.UUID id)
Construct handle for object with given id to it
Parameters:
value - The value to associate with the id
id - The id, if null a new id will be generated


 
Method Detail

create

public static SerialHandle create(WithSerialId obj, java.util.UUID id)


finalizeReference

@Override
public void finalizeReference()


getSerialId

public java.util.UUID getSerialId()
Serial id of the object
Returns:
The serial id


getSubscribers

public java.lang.Object getSubscribers()
Getter for subscribers
Returns:
The current subscribers


subscribe

@SuppressWarnings({"SynchronizedMethod"})
public void subscribe(SerialContext context)
Subscribes host as interested in the object
Parameters:
context - The subscription context to use


unsubscribe

@SuppressWarnings({"SynchronizedMethod"})
public void unsubscribe(SerialContext context)


 

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