textbender.a.u.transfer
Class PRTransferCHub

java.lang.Object
  extended by java.rmi.server.RemoteObject
      extended by java.rmi.server.RemoteServer
          extended by java.rmi.server.UnicastRemoteObject
              extended by PRTransferCHub
All Implemented Interfaces:
Serializable, Remote, EventListener, PRTransfer, PropertyChangeListenerR, PropertyChangeListenerX.Registry, EventListenerR

@ThreadSafe
public final class PRTransferCHub
extends UnicastRemoteObject
implements PropertyChangeListenerR, PropertyChangeListenerX.Registry, PRTransfer

Client-side paired-regions transfer hub. Local implementation of paired-regions transfer service, wrapping a remote server reference. Its purpose is to speed the dispatch of each remote event by relaying it to multiple local listeners.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface PropertyChangeListenerR
PropertyChangeListenerR.DispatchCatcher, PropertyChangeListenerR.DispatchCatcherN, PropertyChangeListenerR.Registry, PropertyChangeListenerR.RegistryN, PropertyChangeListenerR.WrapperL
 
Nested classes/interfaces inherited from interface PRTransfer
PRTransfer.Server
 
Field Summary
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
PRTransferCHub(HostServiceRegistry hostServiceRegistry, Spool spool)
          Creates a PRTransferCHub.
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener listener)
          Registers a listener to receive property change events.
 Transferand getTransferand()
          Returns the object loaded for transfer, according to the latest event received from the server.
 PropertyChangeListenerX.Registry localOriginRegistry()
          Registry for events (e) of local origin only.
 void propertyChange(PropertyChangeEvent e)
          Called when a bound property value is changed, per PropertyChangeListener.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Unregisters a previously registered property change listener.
 PRTransfer.Server server()
          Returns a remote reference to the desk daemon's paired-regions transfer server.
 void setTransferand(Transferand newTransferand)
          Calls server.setTransferand(newTransferand).
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PRTransferCHub

public PRTransferCHub(HostServiceRegistry hostServiceRegistry,
                      Spool spool)
               throws RemoteException
Creates a PRTransferCHub.

Parameters:
hostServiceRegistry - registry reference to use
spool - for internal holds. When unwound, this instance will become disabled, and will release its internal holds.
Throws:
RemoteException - if creation fails in communication with desk daemon
Method Detail

localOriginRegistry

public PropertyChangeListenerX.Registry localOriginRegistry()
Registry for events (e) of local origin only. Each e is actually a property-set event, rather than a property-change; e.getOldValue() will be an unknown (a string message, in fact).


server

public PRTransfer.Server server()
Returns a remote reference to the desk daemon's paired-regions transfer server.


getTransferand

public Transferand getTransferand()
Returns the object loaded for transfer, according to the latest event received from the server.

Specified by:
getTransferand in interface PRTransfer
Returns:
the loaded transferand, or null if none is loaded
See Also:
PRTransfer.setTransferand(Transferand)

setTransferand

@ThreadSafe
public void setTransferand(Transferand newTransferand)
                    throws RemoteException
Calls server.setTransferand(newTransferand). Before doing so, it notifies all local-origin listeners.

Specified by:
setTransferand in interface PRTransfer
Parameters:
newTransferand - to load
Throws:
RemoteException
See Also:
PRTransfer.getTransferand()

propertyChange

public void propertyChange(PropertyChangeEvent e)
Description copied from interface: PropertyChangeListenerR
Called when a bound property value is changed, per PropertyChangeListener. A remote event's source may be null; because, in PropertyChangeEvent, the source field is transient.

Specified by:
propertyChange in interface PropertyChangeListenerR

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Registers a listener to receive property change events. The actual and formal source of all events will be the server.

Specified by:
addPropertyChangeListener in interface PropertyChangeListenerX.Registry

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Description copied from interface: PropertyChangeListenerX.Registry
Unregisters a previously registered property change listener.

Specified by:
removePropertyChangeListener in interface PropertyChangeListenerX.Registry