org.apache.bsf.debug.util

Class StubTable

Known Direct 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 Stub
factory(int tid, int uid)
Stub
swizzle(int tid, int uid)

Field Details

m_con

protected SocketConnection m_con


m_stubs

protected IntHashtable m_stubs

Constructor Details

StubTable

public StubTable(SocketConnection con)

Method Details

disconnectNotify

public void disconnectNotify()


factory

protected Stub factory(int tid,
                       int uid)


swizzle

public Stub swizzle(int tid,
                    int uid)