Package com.meterware.httpunit.scripting

# Class ScriptableDelegate

java.lang.Object
com.meterware.httpunit.scripting.ScriptableDelegate

All Implemented Interfaces:
  `ScriptingEventHandler`, `ScriptingHandler`

Direct Known Subclasses:
  `FormControl.Scriptable`, `HTMLPage.Scriptable`, `WebForm.Scriptable`, `WebImage.Scriptable`, `WebLink.Scriptable`, `WebResponse.Scriptable`

public abstract class ScriptableDelegate extends Object implements ScriptingHandler
An interface for objects which will be accessible via scripting.

Author:
  Russell Gold

## Field Summary

Fields
Modifier and Type
Field
Description
`static final ScriptingEngine`
`NULL_SCRIPT_ENGINE`
a dummy ScriptingEngine implementation

## Constructor Summary

Constructors
Constructor
Description
`ScriptableDelegate()`

## Method Summary

Modifier and Type
Method
Description
`void`
`clearCaches()`
`boolean`
`doEvent(String eventScript)`
Deprecated.
since 1.7 - use doEventScript instead
`boolean`
`doEventScript(String eventScript)`
Executes the specified scripted event.
`Object`
`evaluateExpression(String urlString)`
Evaluates the specified javascript expression, returning its value.
`Object`
`get(int index)`
Returns the value of the index property.
`Object`
`get(String propertyName)`
Returns the value of the named property.
`protected ScriptableDelegate[]`
`getDelegates(HTMLElement[] elements)`
`ScriptingEngine`
`getScriptEngine()`
`ScriptingEngine`
`getScriptEngine(ScriptableDelegate child)`
`boolean`
`handleEvent(String eventName)`
Executes the event Handler script for the specified event (such as onchange, onmousedown, onclick, onmouseup) if it is defined.
`String`
`runScript(String language, String script)`
Executes the specified script, returning any intended replacement text.
`void`
`set(String propertyName, Object value)`
Sets the value of the named property.
`void`
`setScriptEngine(ScriptingEngine scriptEngine)`
Specifies the scripting engine to be used.
`boolean`
`supportsScriptLanguage(String language)`

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

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

## Field Details

### NULL_SCRIPT_ENGINE

public static final ScriptingEngine NULL_SCRIPT_ENGINE
a dummy ScriptingEngine implementation

## Constructor Details

### ScriptableDelegate

public ScriptableDelegate()

## Method Details

### supportsScriptLanguage

public boolean supportsScriptLanguage(String language)

Specified by:
  `supportsScriptLanguage` in interface `ScriptingHandler`

### doEvent

public boolean doEvent(String eventScript)
Deprecated.
since 1.7 - use doEventScript instead
handle the event that has the given script attached by compiling the eventScript as a function and executing it

Specified by:
  `doEvent` in interface `ScriptingEventHandler`
Parameters:
  `eventScript` - - the script to use
Returns:
  true if the script is empty or the result of the script

### doEventScript

public boolean doEventScript(String eventScript)
Executes the specified scripted event.

Specified by:
  `doEventScript` in interface `ScriptingEventHandler`
Parameters:
  `eventScript` - - the eventScript to execute
Returns:
  true if the event has been handled.

### handleEvent

public boolean handleEvent(String eventName)
Executes the event Handler script for the specified event (such as onchange, onmousedown, onclick, onmouseup) if it is defined.

Specified by:
  `handleEvent` in interface `ScriptingEventHandler`
Parameters:
  `eventName` - the name of the event for which a handler should be run.
Returns:
  whether the event with the given name was handled

### runScript

public String runScript(String language, String script)
Executes the specified script, returning any intended replacement text.

Specified by:
  `runScript` in interface `ScriptingHandler`
Returns:
  the replacement text, which may be empty.

### evaluateExpression

public Object evaluateExpression(String urlString)
Evaluates the specified javascript expression, returning its value.

Specified by:
  `evaluateExpression` in interface `ScriptingHandler`

### clearCaches

public void clearCaches()

Specified by:
  `clearCaches` in interface `ScriptingHandler`

### get

public Object get(String propertyName)
Returns the value of the named property. Will return null if the property does not exist.

### get

public Object get(int index)
Returns the value of the index property. Will return null if the property does not exist.

### set

public void set(String propertyName, Object value)
Sets the value of the named property. Will throw a runtime exception if the property does not exist or cannot accept the specified value.

### setScriptEngine

public void setScriptEngine(ScriptingEngine scriptEngine)
Specifies the scripting engine to be used.

### getScriptEngine

public ScriptingEngine getScriptEngine()

### getScriptEngine

public ScriptingEngine getScriptEngine(ScriptableDelegate child)

### getDelegates

protected ScriptableDelegate[] getDelegates(HTMLElement[] elements)