org.apache.bsf.debug.util

Class StubTable

public abstract class StubTable extends 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 SocketConnectionm_con
protected IntHashtablem_stubs
Constructor Summary
StubTable(SocketConnection con)
Method Summary
voiddisconnectNotify()
protected abstract Stubfactory(int tid, int uid)
Stubswizzle(int tid, int uid)

Field Detail

m_con

protected SocketConnection m_con

m_stubs

protected IntHashtable m_stubs

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)