bsh
Class XThis

java.lang.Object
  |
  +--bsh.This
        |
        +--bsh.XThis
All Implemented Interfaces:
java.lang.Runnable, java.io.Serializable

class XThis
extends This

XThis is a dynamically loaded extension which extends This.java and adds support for the generalized interface proxy mechanism introduced in JDK1.3. XThis allows bsh scripted objects to implement arbitrary interfaces (be arbitrary event listener types). Note: This module relies on new features of JDK1.3 and will not compile with JDK1.2 or lower. For those environments simply do not compile this class. Eventually XThis should become simply This, but for backward compatability we will maintain This without requiring support for the proxy mechanism. XThis stands for "eXtended This" (I had to call it something).

See Also:
See also JThis with explicit JFC support for compatability., This

Nested Class Summary
(package private)  class XThis.Handler
          This is the invocation handler for the dynamic proxy.
 
Field Summary
(package private)  java.util.Hashtable interfaces
          A cache of proxy interface handlers.
(package private)  java.lang.reflect.InvocationHandler invocationHandler
           
 
Fields inherited from class bsh.This
declaringInterpreter, namespace
 
Constructor Summary
(package private) XThis(NameSpace namespace, Interpreter declaringInterp)
           
 
Method Summary
 java.lang.Object getInterface(java.lang.Class clas)
          Get dynamic proxy for interface, caching those it creates.
 java.lang.String toString()
           
(package private)  java.lang.String toStringShowInts(java.lang.Class[] ints)
           
 
Methods inherited from class bsh.This
bind, getNameSpace, getThis, invokeMethod, invokeMethod, newCallStack, run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

interfaces

java.util.Hashtable interfaces
A cache of proxy interface handlers. Currently just one per interface.


invocationHandler

java.lang.reflect.InvocationHandler invocationHandler
Constructor Detail

XThis

XThis(NameSpace namespace,
      Interpreter declaringInterp)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class This

toStringShowInts

java.lang.String toStringShowInts(java.lang.Class[] ints)

getInterface

public java.lang.Object getInterface(java.lang.Class clas)
Get dynamic proxy for interface, caching those it creates.

Overrides:
getInterface in class This