org.apache.bsf.debug.util
Class StubTable

java.lang.Object
  extended by org.apache.bsf.debug.util.StubTable
Direct Known Subclasses:
ClientStubTable, ServerStubTable

public abstract class StubTable
extends java.lang.Object

This class provides the resident object table for the mirrors. A Stub represents a remote JavaScript object or any remote concept that needs to be identified such engines or contexts which are not JavaScript objects. A Stub has a unique identifier allocated on the server. This is called its oid, for object identifier. The oid is not only carrying the identity but also the type of the remote object. Knowing the type is essential when a Stub has to be created. For instance, it is important to know if a remote object is just an object or a reified code as a script or a function. The oid is a long, the high word is the type (tid), the low word is the unique identifier (uid). The unique identifier is globally unique across all types. This class also acts as the factory for Stub objects. When a Stub is created, it is remembered in the resident object table for later rebinding from its uid.


Field Summary
protected  SocketConnection m_con
           
protected  IntHashtable m_stubs
           
 
Constructor Summary
StubTable(SocketConnection con)
           
 
Method Summary
 void disconnectNotify()
           
protected abstract  Stub factory(int tid, int uid)
           
 Stub swizzle(int tid, int uid)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_stubs

protected IntHashtable m_stubs

m_con

protected SocketConnection m_con
Constructor Detail

StubTable

public StubTable(SocketConnection con)
Method Detail

disconnectNotify

public void disconnectNotify()

factory

protected abstract Stub factory(int tid,
                                int uid)

swizzle

public Stub swizzle(int tid,
                    int uid)