java.lang.Object
ScriptableObject
com.meterware.httpunit.javascript.JavaScript.JavaScriptEngine
- All Implemented Interfaces:
- com.meterware.httpunit.scripting.ScriptingEngine
- Direct Known Subclasses:
- JavaScript.Control, JavaScript.Document, JavaScript.HTMLElement, JavaScript.Location, JavaScript.Navigator, JavaScript.Option, JavaScript.Options, JavaScript.Screen, JavaScript.Style, JavaScript.Window
- Enclosing class:
- JavaScript
- abstract static class JavaScript.JavaScriptEngine
- extends ScriptableObject
- implements com.meterware.httpunit.scripting.ScriptingEngine
|
Method Summary |
void |
clearCaches()
Clears any cached values, permitting them to be recomputed as needed. |
private java.lang.Object |
convertIfNeeded(java.lang.Object property)
|
protected void |
discardDocumentWriteBuffer()
|
java.lang.String |
evaluateScriptExpression(java.lang.String urlString)
Evaluates the specified string as JavaScript. |
java.lang.String |
executeScript(java.lang.String language,
java.lang.String script)
Interprets the specified script, which may include global function definitions. |
java.lang.Object |
get(int i,
Scriptable scriptable)
|
java.lang.Object |
get(java.lang.String propertyName,
Scriptable scriptable)
|
protected java.lang.StringBuffer |
getDocumentWriteBuffer()
|
(package private) java.lang.String |
getID()
|
(package private) java.lang.String |
getName()
|
private java.lang.String |
getScriptableClassName(com.meterware.httpunit.scripting.ScriptableDelegate delegate)
|
private void |
handleScriptException(java.lang.Exception e,
java.lang.String badScript)
|
boolean |
has(java.lang.String propertyName,
Scriptable scriptable)
|
(package private) void |
initialize(JavaScript.JavaScriptEngine parent,
com.meterware.httpunit.scripting.ScriptableDelegate scriptable)
|
private boolean |
isLineTerminator(char c)
|
com.meterware.httpunit.scripting.ScriptingEngine |
newScriptingEngine(com.meterware.httpunit.scripting.ScriptableDelegate child)
Returns a new scripting engine for the specified delegate. |
boolean |
performEvent(java.lang.String eventScript)
Interprets the specified script and returns a boolean result. |
void |
put(java.lang.String propertyName,
Scriptable scriptable,
java.lang.Object value)
|
boolean |
supportsScriptLanguage(java.lang.String language)
Returns true if this engine supports the specified script. |
protected JavaScript.ElementArray |
toElementArray(com.meterware.httpunit.scripting.ScriptableDelegate[] scriptables)
|
(package private) java.lang.Object |
toScriptable(com.meterware.httpunit.scripting.ScriptableDelegate delegate)
Converts a scriptable delegate obtained from a subobject into the appropriate Rhino-compatible Scriptable. |
private java.lang.Object |
toScriptable(com.meterware.httpunit.scripting.ScriptableDelegate[] list)
|
java.lang.String |
toString()
Convert this Object to a human-readable String. |
protected static java.lang.String |
toStringIfNotUndefined(java.lang.Object object)
|
private java.lang.String |
withoutFirstLine(java.lang.String script)
|
_scriptable
protected com.meterware.httpunit.scripting.ScriptableDelegate _scriptable
_parent
protected JavaScript.JavaScriptEngine _parent
JavaScript.JavaScriptEngine
JavaScript.JavaScriptEngine()
supportsScriptLanguage
public boolean supportsScriptLanguage(java.lang.String language)
- Description copied from interface:
com.meterware.httpunit.scripting.ScriptingEngine
- Returns true if this engine supports the specified script.
- Specified by:
supportsScriptLanguage in interface com.meterware.httpunit.scripting.ScriptingEngine
executeScript
public java.lang.String executeScript(java.lang.String language,
java.lang.String script)
- Description copied from interface:
com.meterware.httpunit.scripting.ScriptingEngine
- Interprets the specified script, which may include global function definitions.
- Specified by:
executeScript in interface com.meterware.httpunit.scripting.ScriptingEngine
getDocumentWriteBuffer
protected java.lang.StringBuffer getDocumentWriteBuffer()
discardDocumentWriteBuffer
protected void discardDocumentWriteBuffer()
withoutFirstLine
private java.lang.String withoutFirstLine(java.lang.String script)
isLineTerminator
private boolean isLineTerminator(char c)
performEvent
public boolean performEvent(java.lang.String eventScript)
- Description copied from interface:
com.meterware.httpunit.scripting.ScriptingEngine
- Interprets the specified script and returns a boolean result.
- Specified by:
performEvent in interface com.meterware.httpunit.scripting.ScriptingEngine
evaluateScriptExpression
public java.lang.String evaluateScriptExpression(java.lang.String urlString)
- Evaluates the specified string as JavaScript. Will return null if the script has no return value.
- Specified by:
evaluateScriptExpression in interface com.meterware.httpunit.scripting.ScriptingEngine
handleScriptException
private void handleScriptException(java.lang.Exception e,
java.lang.String badScript)
initialize
void initialize(JavaScript.JavaScriptEngine parent,
com.meterware.httpunit.scripting.ScriptableDelegate scriptable)
throws org.xml.sax.SAXException,
PropertyException,
JavaScriptException,
NotAFunctionException
getName
java.lang.String getName()
getID
java.lang.String getID()
has
public boolean has(java.lang.String propertyName,
Scriptable scriptable)
get
public java.lang.Object get(java.lang.String propertyName,
Scriptable scriptable)
get
public java.lang.Object get(int i,
Scriptable scriptable)
convertIfNeeded
private java.lang.Object convertIfNeeded(java.lang.Object property)
toScriptable
private java.lang.Object toScriptable(com.meterware.httpunit.scripting.ScriptableDelegate[] list)
put
public void put(java.lang.String propertyName,
Scriptable scriptable,
java.lang.Object value)
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object
- Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method
never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string
concatenation with this object. If the result is
null, string concatenation will instead
use "null".
The default implementation returns
getClass().getName() + "@" +
Integer.toHexString(hashCode()).
newScriptingEngine
public com.meterware.httpunit.scripting.ScriptingEngine newScriptingEngine(com.meterware.httpunit.scripting.ScriptableDelegate child)
- Description copied from interface:
com.meterware.httpunit.scripting.ScriptingEngine
- Returns a new scripting engine for the specified delegate.
- Specified by:
newScriptingEngine in interface com.meterware.httpunit.scripting.ScriptingEngine
clearCaches
public void clearCaches()
- Description copied from interface:
com.meterware.httpunit.scripting.ScriptingEngine
- Clears any cached values, permitting them to be recomputed as needed.
- Specified by:
clearCaches in interface com.meterware.httpunit.scripting.ScriptingEngine
toStringIfNotUndefined
protected static java.lang.String toStringIfNotUndefined(java.lang.Object object)
toScriptable
final java.lang.Object toScriptable(com.meterware.httpunit.scripting.ScriptableDelegate delegate)
- Converts a scriptable delegate obtained from a subobject into the appropriate Rhino-compatible Scriptable.
getScriptableClassName
private java.lang.String getScriptableClassName(com.meterware.httpunit.scripting.ScriptableDelegate delegate)
toElementArray
protected JavaScript.ElementArray toElementArray(com.meterware.httpunit.scripting.ScriptableDelegate[] scriptables)