org.gjt.sp.jedit.bsh

## Class XThis

- java.lang.Object
- - org.gjt.sp.jedit.bsh.This
  - - org.gjt.sp.jedit.bsh.XThis

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Runnable

      public 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:
    `JThis See also JThis with explicit JFC support for compatability.`, `This`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `XThis(NameSpace namespace, Interpreter declaringInterp)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `getInterface(java.lang.Class clas)` Get dynamic proxy for interface, caching those it creates.
    `java.lang.Object` | `getInterface(java.lang.Class[] ca)` Get dynamic proxy for interface, caching those it creates.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class org.gjt.sp.jedit.bsh.This

      `bind, getNameSpace, invokeMethod, invokeMethod, run`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### XThis

          public XThis(NameSpace namespace,
                       Interpreter declaringInterp)

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `This`

    - #### getInterface

          public java.lang.Object getInterface(java.lang.Class clas)

      Get dynamic proxy for interface, caching those it creates.
      Overrides:
        `getInterface` in class `This`

    - #### getInterface

          public java.lang.Object getInterface(java.lang.Class[] ca)

      Get dynamic proxy for interface, caching those it creates.
      Overrides:
        `getInterface` in class `This`