# Class XThis

java.lang.Object
bsh.This
bsh.XThis

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

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`Object`
`getInterface(Class clas)`
Get dynamic proxy for interface, caching those it creates.
`Object`
`getInterface(Class[] ca)`
Get dynamic proxy for interface, caching those it creates.
`String`
`toString()`

### Methods inherited from class This

`bind, getNameSpace, invokeMethod, invokeMethod, run`

### Methods inherited from class Object

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

## Constructor Details

### XThis

public XThis(NameSpace namespace, Interpreter declaringInterp)

## Method Details

### toString

public String toString()

Overrides:
  `toString` in class `This`

### getInterface

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

Overrides:
  `getInterface` in class `This`

### getInterface

public Object getInterface(Class[] ca)
Get dynamic proxy for interface, caching those it creates.

Overrides:
  `getInterface` in class `This`