edu.emory.mathcs.rmix.spi
Class AbstractExportMap

java.lang.Object
  extended byedu.emory.mathcs.rmix.spi.AbstractExportMap

public abstract class AbstractExportMap
extends java.lang.Object

Abstract base class for all RMIX protocol providers.

Version:
1.0
Author:
Dawid Kurzyniec

Field Summary
protected  ServerRef[] EMPTY_LIST
           
protected  java.util.Map invTargetMap
           
protected  java.util.Map loc2srv
          localization detection
protected  boolean weakRefs
           
 
Constructor Summary
protected AbstractExportMap()
           
protected AbstractExportMap(boolean weakRefs)
           
 
Method Summary
protected abstract  AbstractServerRef createServerRef(InvocationTarget target, BasicExportParams exportParams)
           
 ServerRef export(InvocationTarget target, BasicExportParams exportParams)
           
protected  ServerRef findLocalServerRef(java.lang.Object locator)
          For a given locator, finds a server object if exists within the same VM.
protected abstract  java.lang.Object getServerRefLocator(ServerRef sref)
           
 ServerRef[] list(InvocationTarget target)
           
 void unexport(AbstractServerRef serverRef)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

weakRefs

protected final boolean weakRefs

invTargetMap

protected java.util.Map invTargetMap

EMPTY_LIST

protected final ServerRef[] EMPTY_LIST

loc2srv

protected java.util.Map loc2srv
localization detection

Constructor Detail

AbstractExportMap

protected AbstractExportMap()

AbstractExportMap

protected AbstractExportMap(boolean weakRefs)
Method Detail

createServerRef

protected abstract AbstractServerRef createServerRef(InvocationTarget target,
                                                     BasicExportParams exportParams)
                                              throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

getServerRefLocator

protected abstract java.lang.Object getServerRefLocator(ServerRef sref)

export

public ServerRef export(InvocationTarget target,
                        BasicExportParams exportParams)
                 throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

unexport

public void unexport(AbstractServerRef serverRef)

list

public ServerRef[] list(InvocationTarget target)

findLocalServerRef

protected ServerRef findLocalServerRef(java.lang.Object locator)
For a given locator, finds a server object if exists within the same VM.