From d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 8 Jun 2010 08:22:05 +0200 Subject: reverted folder structure change for better mergeing with upstream --- .../javadoc/org/mozilla/javascript/Context.html | 3581 ++++++++++++++++++++ 1 file changed, 3581 insertions(+) create mode 100644 trunk/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/Context.html (limited to 'trunk/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/Context.html') diff --git a/trunk/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/Context.html b/trunk/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/Context.html new file mode 100644 index 0000000..64fb637 --- /dev/null +++ b/trunk/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/Context.html @@ -0,0 +1,3581 @@ + + + + + + +Context (Rhino) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.mozilla.javascript +
+Class Context

+
+java.lang.Object
+  extended by org.mozilla.javascript.Context
+
+
+
+
public class Context
extends java.lang.Object
+ + +

+This class represents the runtime context of an executing script. + + Before executing a script, an instance of Context must be created + and associated with the thread that will be executing the script. + The Context will be used to store information about the executing + of the script such as the call stack. Contexts are associated with + the current thread using the call(ContextAction) + or enter() methods.

+ + Different forms of script execution are supported. Scripts may be + evaluated from the source directly, or first compiled and then later + executed. Interactive execution is also supported.

+ + Some aspects of script execution, such as type conversions and + object creation, may be accessed directly through methods of + Context. +

+ +

+

+
Author:
+
Norris Boyd, Brendan Eich
+
See Also:
Scriptable
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static java.lang.Object[]emptyArgs + +
+          Convenient value to use as zero-length array of objects.
+static java.lang.StringerrorReporterProperty + +
+           
+static intFEATURE_DYNAMIC_SCOPE + +
+          Control if dynamic scope should be used for name access.
+static intFEATURE_E4X + +
+          Control if support for E4X(ECMAScript for XML) extension is available.
+static intFEATURE_ENHANCED_JAVA_ACCESS + +
+          Enables enhanced access to Java.
+static intFEATURE_LOCATION_INFORMATION_IN_ERROR + +
+          When the feature is on Rhino will add a "fileName" and "lineNumber" + properties to Error objects automatically.
+static intFEATURE_MEMBER_EXPR_AS_FUNCTION_NAME + +
+          Control if member expression as function name extension is available.
+static intFEATURE_NON_ECMA_GET_YEAR + +
+          Controls behaviour of Date.prototype.getYear().
+static intFEATURE_PARENT_PROTO_PROPERTIES + +
+          Control if properties __proto__ and __parent__ + are treated specially.
+static intFEATURE_PARENT_PROTO_PROPRTIES + +
+          Deprecated. In previous releases, this name was given to + FEATURE_PARENT_PROTO_PROPERTIES.
+static intFEATURE_RESERVED_KEYWORD_AS_IDENTIFIER + +
+          Control if reserved keywords are treated as identifiers.
+static intFEATURE_STRICT_EVAL + +
+          Control if strict eval mode is enabled.
+static intFEATURE_STRICT_MODE + +
+          Controls whether JS 1.5 'strict mode' is enabled.
+static intFEATURE_STRICT_VARS + +
+          Control if strict variable mode is enabled.
+static intFEATURE_TO_STRING_AS_SOURCE + +
+          Control if toString() should returns the same result + as toSource() when applied to objects and arrays.
+static intFEATURE_WARNING_AS_ERROR + +
+          Controls whether a warning should be treated as an error.
+ booleangenerateObserverCount + +
+           
+static java.lang.StringlanguageVersionProperty + +
+           
+static intVERSION_1_0 + +
+          JavaScript 1.0
+static intVERSION_1_1 + +
+          JavaScript 1.1
+static intVERSION_1_2 + +
+          JavaScript 1.2
+static intVERSION_1_3 + +
+          JavaScript 1.3
+static intVERSION_1_4 + +
+          JavaScript 1.4
+static intVERSION_1_5 + +
+          JavaScript 1.5
+static intVERSION_1_6 + +
+          JavaScript 1.6
+static intVERSION_1_7 + +
+          JavaScript 1.7
+static intVERSION_DEFAULT + +
+          The default version.
+static intVERSION_UNKNOWN + +
+          The unknown version.
+  + + + + + + + + + + +
+Constructor Summary
Context() + +
+          Deprecated. use ContextFactory.enter() or + ContextFactory.call(ContextAction) instead.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddActivationName(java.lang.String name) + +
+          Add a name to the list of names forcing the creation of real + activation objects for functions.
+static voidaddContextListener(org.mozilla.javascript.ContextListener listener) + +
+          Deprecated.  
+ voidaddPropertyChangeListener(java.beans.PropertyChangeListener l) + +
+          Register an object to receive notifications when a bound property + has changed
+static java.lang.Objectcall(ContextAction action) + +
+          Deprecated. use ContextFactory.call(ContextAction) instead as + this method relies on usage of a static singleton "global" + ContextFactory.
+static java.lang.Objectcall(ContextFactory factory, + Callable callable, + Scriptable scope, + Scriptable thisObj, + java.lang.Object[] args) + +
+          Call Callable.call(Context cx, Scriptable scope, Scriptable thisObj, + Object[] args) + using the Context instance associated with the current thread.
+static voidcheckLanguageVersion(int version) + +
+           
+static voidcheckOptimizationLevel(int optimizationLevel) + +
+           
+ FunctioncompileFunction(Scriptable scope, + java.lang.String source, + java.lang.String sourceName, + int lineno, + java.lang.Object securityDomain) + +
+          Compile a JavaScript function.
+ ScriptcompileReader(java.io.Reader in, + java.lang.String sourceName, + int lineno, + java.lang.Object securityDomain) + +
+          Compiles the source in the given reader.
+ ScriptcompileReader(Scriptable scope, + java.io.Reader in, + java.lang.String sourceName, + int lineno, + java.lang.Object securityDomain) + +
+          Deprecated.  
+ ScriptcompileString(java.lang.String source, + java.lang.String sourceName, + int lineno, + java.lang.Object securityDomain) + +
+          Compiles the source in the given string.
+ GeneratedClassLoadercreateClassLoader(java.lang.ClassLoader parent) + +
+          Create class loader for generated classes.
+ java.lang.StringdecompileFunction(Function fun, + int indent) + +
+          Decompile a JavaScript Function.
+ java.lang.StringdecompileFunctionBody(Function fun, + int indent) + +
+          Decompile the body of a JavaScript Function.
+ java.lang.StringdecompileScript(Script script, + int indent) + +
+          Decompile the script.
+static Contextenter() + +
+          Deprecated. use ContextFactory.enter() or + ContextFactory.call(ContextAction) instead as this method relies + on usage of a static singleton "global" ContextFactory.
+static Contextenter(Context cx) + +
+          Deprecated. use ContextFactory.enterContext(Context) instead as + this method relies on usage of a static singleton "global" ContextFactory.
+ java.lang.ObjectevaluateReader(Scriptable scope, + java.io.Reader in, + java.lang.String sourceName, + int lineno, + java.lang.Object securityDomain) + +
+          Evaluate a reader as JavaScript source.
+ java.lang.ObjectevaluateString(Scriptable scope, + java.lang.String source, + java.lang.String sourceName, + int lineno, + java.lang.Object securityDomain) + +
+          Evaluate a JavaScript source string.
+static voidexit() + +
+          Exit a block of code requiring a Context.
+ java.lang.ClassLoadergetApplicationClassLoader() + +
+           
+static ContextgetCurrentContext() + +
+          Get the current Context.
+static DebuggableScriptgetDebuggableView(Script script) + +
+          Return DebuggableScript instance if any associated with the script.
+ org.mozilla.javascript.debug.DebuggergetDebugger() + +
+          Return the current debugger.
+ java.lang.ObjectgetDebuggerContextData() + +
+          Return the debugger context data associated with current context.
+ org.mozilla.javascript.xml.XMLLib.FactorygetE4xImplementationFactory() + +
+          Returns an object which specifies an E4X implementation to use within + this Context.
+ java.lang.Object[]getElements(Scriptable object) + +
+          Get the elements of a JavaScript array.
+ ErrorReportergetErrorReporter() + +
+          Get the current error reporter.
+ ContextFactorygetFactory() + +
+          Return ContextFactory instance used to create this Context.
+ java.lang.StringgetImplementationVersion() + +
+          Get the implementation version.
+ intgetInstructionObserverThreshold() + +
+          Get threshold of executed instructions counter that triggers call to + observeInstructionCount().
+ intgetLanguageVersion() + +
+          Get the current language version.
+ java.util.LocalegetLocale() + +
+          Get the current locale.
+ intgetMaximumInterpreterStackDepth() + +
+          Returns the maximum stack depth (in terms of number of call frames) + allowed in a single invocation of interpreter.
+ intgetOptimizationLevel() + +
+          Get the current optimization level.
+ java.lang.ObjectgetThreadLocal(java.lang.Object key) + +
+          Get a value corresponding to a key.
+static java.lang.ObjectgetUndefinedValue() + +
+          Get the singleton object that represents the JavaScript Undefined value.
+ WrapFactorygetWrapFactory() + +
+          Return the current WrapFactory, or null if none is defined.
+ booleanhasCompileFunctionsWithDynamicScope() + +
+          Deprecated.  
+ booleanhasFeature(int featureIndex) + +
+          Controls certain aspects of script semantics.
+ ScriptableObjectinitStandardObjects() + +
+          Initialize the standard objects.
+ ScriptableinitStandardObjects(ScriptableObject scope) + +
+          Initialize the standard objects.
+ ScriptableObjectinitStandardObjects(ScriptableObject scope, + boolean sealed) + +
+          Initialize the standard objects.
+ booleanisActivationNeeded(java.lang.String name) + +
+          Check whether the name is in the list of names of objects + forcing the creation of activation objects.
+ booleanisGeneratingDebug() + +
+          Tell whether debug information is being generated.
+ booleanisGeneratingDebugChanged() + +
+           
+ booleanisGeneratingSource() + +
+          Tell whether source information is being generated.
+ booleanisSealed() + +
+          Checks if this is a sealed Context.
+static booleanisValidLanguageVersion(int version) + +
+           
+static booleanisValidOptimizationLevel(int optimizationLevel) + +
+           
+static java.lang.ObjectjavaToJS(java.lang.Object value, + Scriptable scope) + +
+          Convenient method to convert java value to its closest representation + in JavaScript.
+static java.lang.ObjectjsToJava(java.lang.Object value, + java.lang.Class desiredType) + +
+          Convert a JavaScript value into the desired type.
+ ScriptablenewArray(Scriptable scope, + int length) + +
+          Create an array with a specified initial length.
+ ScriptablenewArray(Scriptable scope, + java.lang.Object[] elements) + +
+          Create an array with a set of initial elements.
+ ScriptablenewObject(Scriptable scope) + +
+          Create a new JavaScript object.
+ ScriptablenewObject(Scriptable scope, + java.lang.String constructorName) + +
+          Create a new JavaScript object by executing the named constructor.
+ ScriptablenewObject(Scriptable scope, + java.lang.String constructorName, + java.lang.Object[] args) + +
+          Creates a new JavaScript object by executing the named constructor.
+protected  voidobserveInstructionCount(int instructionCount) + +
+          Allow application to monitor counter of executed script instructions + in Context subclasses.
+ voidputThreadLocal(java.lang.Object key, + java.lang.Object value) + +
+          Put a value that can later be retrieved using a given key.
+ voidremoveActivationName(java.lang.String name) + +
+          Remove a name from the list of names forcing the creation of real + activation objects for functions.
+static voidremoveContextListener(org.mozilla.javascript.ContextListener listener) + +
+          Deprecated.  
+ voidremovePropertyChangeListener(java.beans.PropertyChangeListener l) + +
+          Remove an object from the list of objects registered to receive + notification of changes to a bounded property
+ voidremoveThreadLocal(java.lang.Object key) + +
+          Remove values from thread-local storage.
+static voidreportError(java.lang.String message) + +
+          Report an error using the error reporter for the current thread.
+static voidreportError(java.lang.String message, + java.lang.String sourceName, + int lineno, + java.lang.String lineSource, + int lineOffset) + +
+          Report an error using the error reporter for the current thread.
+static EvaluatorExceptionreportRuntimeError(java.lang.String message) + +
+          Report a runtime error using the error reporter for the current thread.
+static EvaluatorExceptionreportRuntimeError(java.lang.String message, + java.lang.String sourceName, + int lineno, + java.lang.String lineSource, + int lineOffset) + +
+          Report a runtime error using the error reporter for the current thread.
+static voidreportWarning(java.lang.String message) + +
+          Report a warning using the error reporter for the current thread.
+static voidreportWarning(java.lang.String message, + java.lang.String sourceName, + int lineno, + java.lang.String lineSource, + int lineOffset) + +
+          Report a warning using the error reporter for the current thread.
+static voidreportWarning(java.lang.String message, + java.lang.Throwable t) + +
+           
+ voidseal(java.lang.Object sealKey) + +
+          Seal this Context object so any attempt to modify any of its properties + including calling enter() and exit() methods will + throw an exception.
+ voidsetApplicationClassLoader(java.lang.ClassLoader loader) + +
+           
+static voidsetCachingEnabled(boolean cachingEnabled) + +
+          Deprecated.  
+ voidsetClassShutter(ClassShutter shutter) + +
+          Set the LiveConnect access filter for this context.
+ voidsetCompileFunctionsWithDynamicScope(boolean flag) + +
+          Deprecated.  
+ voidsetDebugger(org.mozilla.javascript.debug.Debugger debugger, + java.lang.Object contextData) + +
+          Set the associated debugger.
+ ErrorReportersetErrorReporter(ErrorReporter reporter) + +
+          Change the current error reporter.
+ voidsetGenerateObserverCount(boolean generateObserverCount) + +
+          Turn on or off generation of code with callbacks to + track the count of executed instructions.
+ voidsetGeneratingDebug(boolean generatingDebug) + +
+          Specify whether or not debug information should be generated.
+ voidsetGeneratingSource(boolean generatingSource) + +
+          Specify whether or not source information should be generated.
+ voidsetInstructionObserverThreshold(int threshold) + +
+          Set threshold of executed instructions counter that triggers call to + observeInstructionCount().
+ voidsetLanguageVersion(int version) + +
+          Set the language version.
+ java.util.LocalesetLocale(java.util.Locale loc) + +
+          Set the current locale.
+ voidsetMaximumInterpreterStackDepth(int max) + +
+          Sets the maximum stack depth (in terms of number of call frames) + allowed in a single invocation of interpreter.
+ voidsetOptimizationLevel(int optimizationLevel) + +
+          Set the current optimization level.
+ voidsetSecurityController(SecurityController controller) + +
+          Set the security controller for this context.
+ voidsetWrapFactory(WrapFactory wrapFactory) + +
+          Set a WrapFactory for this Context.
+ booleanstringIsCompilableUnit(java.lang.String source) + +
+          Check whether a string is ready to be compiled.
+static java.lang.RuntimeExceptionthrowAsScriptRuntimeEx(java.lang.Throwable e) + +
+          Rethrow the exception wrapping it as the script runtime exception.
+static booleantoBoolean(java.lang.Object value) + +
+          Convert the value to a JavaScript boolean value.
+static doubletoNumber(java.lang.Object value) + +
+          Convert the value to a JavaScript Number value.
+static ScriptabletoObject(java.lang.Object value, + Scriptable scope) + +
+          Convert the value to an JavaScript object value.
+static ScriptabletoObject(java.lang.Object value, + Scriptable scope, + java.lang.Class staticType) + +
+          Deprecated.  
+static java.lang.StringtoString(java.lang.Object value) + +
+          Convert the value to a JavaScript String value.
+static java.lang.ObjecttoType(java.lang.Object value, + java.lang.Class desiredType) + +
+          Deprecated.  
+ voidunseal(java.lang.Object sealKey) + +
+          Unseal previously sealed Context object.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+VERSION_UNKNOWN

+
+public static final int VERSION_UNKNOWN
+
+
The unknown version. +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_DEFAULT

+
+public static final int VERSION_DEFAULT
+
+
The default version. +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_0

+
+public static final int VERSION_1_0
+
+
JavaScript 1.0 +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_1

+
+public static final int VERSION_1_1
+
+
JavaScript 1.1 +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_2

+
+public static final int VERSION_1_2
+
+
JavaScript 1.2 +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_3

+
+public static final int VERSION_1_3
+
+
JavaScript 1.3 +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_4

+
+public static final int VERSION_1_4
+
+
JavaScript 1.4 +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_5

+
+public static final int VERSION_1_5
+
+
JavaScript 1.5 +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_6

+
+public static final int VERSION_1_6
+
+
JavaScript 1.6 +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERSION_1_7

+
+public static final int VERSION_1_7
+
+
JavaScript 1.7 +

+

+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_NON_ECMA_GET_YEAR

+
+public static final int FEATURE_NON_ECMA_GET_YEAR
+
+
Controls behaviour of Date.prototype.getYear(). + If hasFeature(FEATURE_NON_ECMA_GET_YEAR) returns true, + Date.prototype.getYear subtructs 1900 only if 1900 <= date < 2000. + The default behavior of hasFeature(int) is always to subtruct + 1900 as rquired by ECMAScript B.2.4. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME

+
+public static final int FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME
+
+
Control if member expression as function name extension is available. + If hasFeature(FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME) returns + true, allow function memberExpression(args) { body } to be + syntax sugar for memberExpression = function(args) { body }, + when memberExpression is not a simple identifier. + See ECMAScript-262, section 11.2 for definition of memberExpression. + By default hasFeature(int) returns false. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_RESERVED_KEYWORD_AS_IDENTIFIER

+
+public static final int FEATURE_RESERVED_KEYWORD_AS_IDENTIFIER
+
+
Control if reserved keywords are treated as identifiers. + If hasFeature(RESERVED_KEYWORD_AS_IDENTIFIER) returns true, + treat future reserved keyword (see Ecma-262, section 7.5.3) as ordinary + identifiers but warn about this usage. + + By default hasFeature(int) returns false. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_TO_STRING_AS_SOURCE

+
+public static final int FEATURE_TO_STRING_AS_SOURCE
+
+
Control if toString() should returns the same result + as toSource() when applied to objects and arrays. + If hasFeature(FEATURE_TO_STRING_AS_SOURCE) returns true, + calling toString() on JS objects gives the same result as + calling toSource(). That is it returns JS source with code + to create an object with all enumeratable fields of the original object + instead of printing [object result of + Scriptable.getClassName()]. +

+ By default hasFeature(int) returns true only if + the current JS version is set to VERSION_1_2. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_PARENT_PROTO_PROPERTIES

+
+public static final int FEATURE_PARENT_PROTO_PROPERTIES
+
+
Control if properties __proto__ and __parent__ + are treated specially. + If hasFeature(FEATURE_PARENT_PROTO_PROPERTIES) returns true, + treat __parent__ and __proto__ as special properties. +

+ The properties allow to query and set scope and prototype chains for the + objects. The special meaning of the properties is available + only when they are used as the right hand side of the dot operator. + For example, while x.__proto__ = y changes the prototype + chain of the object x to point to y, + x["__proto__"] = y simply assigns a new value to the property + __proto__ in x even when the feature is on. + + By default hasFeature(int) returns true. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_PARENT_PROTO_PROPRTIES

+
+public static final int FEATURE_PARENT_PROTO_PROPRTIES
+
+
Deprecated. In previous releases, this name was given to + FEATURE_PARENT_PROTO_PROPERTIES.
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_E4X

+
+public static final int FEATURE_E4X
+
+
Control if support for E4X(ECMAScript for XML) extension is available. + If hasFeature(FEATURE_E4X) returns true, the XML syntax is available. +

+ By default hasFeature(int) returns true if + the current JS version is set to VERSION_DEFAULT + or is at least VERSION_1_6. +

+

+
Since:
+
1.6 Release 1
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_DYNAMIC_SCOPE

+
+public static final int FEATURE_DYNAMIC_SCOPE
+
+
Control if dynamic scope should be used for name access. + If hasFeature(FEATURE_DYNAMIC_SCOPE) returns true, then the name lookup + during name resolution will use the top scope of the script or function + which is at the top of JS execution stack instead of the top scope of the + script or function from the current stack frame if the top scope of + the top stack frame contains the top scope of the current stack frame + on its prototype chain. +

+ This is useful to define shared scope containing functions that can + be called from scripts and functions using private scopes. +

+ By default hasFeature(int) returns false. +

+

+
Since:
+
1.6 Release 1
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_STRICT_VARS

+
+public static final int FEATURE_STRICT_VARS
+
+
Control if strict variable mode is enabled. + When the feature is on Rhino reports runtime errors if assignment + to a global variable that does not exist is executed. When the feature + is off such assignments creates new variable in the global scope as + required by ECMA 262. +

+ By default hasFeature(int) returns false. +

+

+
Since:
+
1.6 Release 1
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_STRICT_EVAL

+
+public static final int FEATURE_STRICT_EVAL
+
+
Control if strict eval mode is enabled. + When the feature is on Rhino reports runtime errors if non-string + argument is passed to the eval function. When the feature is off + eval simply return non-string argument as is without performing any + evaluation as required by ECMA 262. +

+ By default hasFeature(int) returns false. +

+

+
Since:
+
1.6 Release 1
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_LOCATION_INFORMATION_IN_ERROR

+
+public static final int FEATURE_LOCATION_INFORMATION_IN_ERROR
+
+
When the feature is on Rhino will add a "fileName" and "lineNumber" + properties to Error objects automatically. When the feature is off, you + have to explicitly pass them as the second and third argument to the + Error constructor. Note that neither behaviour is fully ECMA 262 + compliant (as 262 doesn't specify a three-arg constructor), but keeping + the feature off results in Error objects that don't have + additional non-ECMA properties when constructed using the ECMA-defined + single-arg constructor and is thus desirable if a stricter ECMA + compliance is desired, specifically adherence to the point 15.11.5. of + the standard. +

+ By default hasFeature(int) returns false. +

+

+
Since:
+
1.6 Release 6
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_STRICT_MODE

+
+public static final int FEATURE_STRICT_MODE
+
+
Controls whether JS 1.5 'strict mode' is enabled. + When the feature is on, Rhino reports more than a dozen different + warnings. When the feature is off, these warnings are not generated. + FEATURE_STRICT_MODE implies FEATURE_STRICT_VARS and FEATURE_STRICT_EVAL. +

+ By default hasFeature(int) returns false. +

+

+
Since:
+
1.6 Release 6
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_WARNING_AS_ERROR

+
+public static final int FEATURE_WARNING_AS_ERROR
+
+
Controls whether a warning should be treated as an error. +

+

+
Since:
+
1.6 Release 6
+
See Also:
Constant Field Values
+
+
+ +

+FEATURE_ENHANCED_JAVA_ACCESS

+
+public static final int FEATURE_ENHANCED_JAVA_ACCESS
+
+
Enables enhanced access to Java. + Specifically, controls whether private and protected members can be + accessed, and whether scripts can catch all Java exceptions. +

+ Note that this feature should only be enabled for trusted scripts. +

+ By default hasFeature(int) returns false. +

+

+
Since:
+
1.7 Release 1
+
See Also:
Constant Field Values
+
+
+ +

+languageVersionProperty

+
+public static final java.lang.String languageVersionProperty
+
+
+
See Also:
Constant Field Values
+
+
+ +

+errorReporterProperty

+
+public static final java.lang.String errorReporterProperty
+
+
+
See Also:
Constant Field Values
+
+
+ +

+emptyArgs

+
+public static final java.lang.Object[] emptyArgs
+
+
Convenient value to use as zero-length array of objects. +

+

+
+
+
+ +

+generateObserverCount

+
+public boolean generateObserverCount
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+Context

+
+public Context()
+
+
Deprecated. use ContextFactory.enter() or + ContextFactory.call(ContextAction) instead. +

+

Create a new Context. + + Note that the Context must be associated with a thread before + it can be used to execute a script. +

+

+ + + + + + + + +
+Method Detail
+ +

+getCurrentContext

+
+public static Context getCurrentContext()
+
+
Get the current Context. + + The current Context is per-thread; this method looks up + the Context associated with the current thread.

+

+

+ +
Returns:
the Context associated with the current thread, or + null if no context is associated with the current + thread.
See Also:
ContextFactory.enterContext(), +ContextFactory.call(ContextAction)
+
+
+
+ +

+enter

+
+public static Context enter()
+
+
Deprecated. use ContextFactory.enter() or + ContextFactory.call(ContextAction) instead as this method relies + on usage of a static singleton "global" ContextFactory. +

+

Same as calling ContextFactory.enterContext() on the global + ContextFactory instance. +

+

+ +
Returns:
a Context associated with the current thread
See Also:
getCurrentContext(), +exit(), +call(ContextAction)
+
+
+
+ +

+enter

+
+public static Context enter(Context cx)
+
+
Deprecated. use ContextFactory.enterContext(Context) instead as + this method relies on usage of a static singleton "global" ContextFactory. +

+

Get a Context associated with the current thread, using + the given Context if need be. +

+ The same as enter() except that cx + is associated with the current thread and returned if + the current thread has no associated context and cx + is not associated with any other thread. +

+

+
Parameters:
cx - a Context to associate with the thread if possible +
Returns:
a Context associated with the current thread
See Also:
ContextFactory.enterContext(Context), +ContextFactory.call(ContextAction)
+
+
+
+ +

+exit

+
+public static void exit()
+
+
Exit a block of code requiring a Context. + + Calling exit() will remove the association between + the current thread and a Context if the prior call to + ContextFactory.enterContext() on this thread newly associated a + Context with this thread. Once the current thread no longer has an + associated Context, it cannot be used to execute JavaScript until it is + again associated with a Context. +

+

+
See Also:
ContextFactory.enterContext()
+
+
+
+ +

+call

+
+public static java.lang.Object call(ContextAction action)
+
+
Deprecated. use ContextFactory.call(ContextAction) instead as + this method relies on usage of a static singleton "global" + ContextFactory. +

+

Call ContextAction.run(Context cx) + using the Context instance associated with the current thread. + If no Context is associated with the thread, then + ContextFactory.getGlobal().makeContext() will be called to + construct new Context instance. The instance will be temporary + associated with the thread during call to + ContextAction.run(Context). +

+

+ +
Returns:
The result of ContextAction.run(Context).
+
+
+
+ +

+call

+
+public static java.lang.Object call(ContextFactory factory,
+                                    Callable callable,
+                                    Scriptable scope,
+                                    Scriptable thisObj,
+                                    java.lang.Object[] args)
+
+
Call Callable.call(Context cx, Scriptable scope, Scriptable thisObj, + Object[] args) + using the Context instance associated with the current thread. + If no Context is associated with the thread, then + ContextFactory.makeContext() will be called to construct + new Context instance. The instance will be temporary associated + with the thread during call to ContextAction.run(Context). +

+ It is allowed but not advisable to use null for factory + argument in which case the global static singleton ContextFactory + instance will be used to create new context instances. +

+

+
See Also:
ContextFactory.call(ContextAction)
+
+
+
+ +

+addContextListener

+
+public static void addContextListener(org.mozilla.javascript.ContextListener listener)
+
+
Deprecated.  +

+

+
See Also:
ContextFactory.addListener(ContextFactory.Listener), +ContextFactory.getGlobal()
+
+
+
+ +

+removeContextListener

+
+public static void removeContextListener(org.mozilla.javascript.ContextListener listener)
+
+
Deprecated.  +

+

+
See Also:
ContextFactory.removeListener(ContextFactory.Listener), +ContextFactory.getGlobal()
+
+
+
+ +

+getFactory

+
+public final ContextFactory getFactory()
+
+
Return ContextFactory instance used to create this Context. +

+

+
+
+
+
+ +

+isSealed

+
+public final boolean isSealed()
+
+
Checks if this is a sealed Context. A sealed Context instance does not + allow to modify any of its properties and will throw an exception + on any such attempt. +

+

+
See Also:
seal(Object sealKey)
+
+
+
+ +

+seal

+
+public final void seal(java.lang.Object sealKey)
+
+
Seal this Context object so any attempt to modify any of its properties + including calling enter() and exit() methods will + throw an exception. +

+ If sealKey is not null, calling + unseal(Object sealKey) with the same key unseals + the object. If sealKey is null, unsealing is no longer possible. +

+

+
See Also:
isSealed(), +unseal(Object)
+
+
+
+ +

+unseal

+
+public final void unseal(java.lang.Object sealKey)
+
+
Unseal previously sealed Context object. + The sealKey argument should not be null and should match + sealKey suplied with the last call to + seal(Object) or an exception will be thrown. +

+

+
See Also:
isSealed(), +seal(Object sealKey)
+
+
+
+ +

+getLanguageVersion

+
+public final int getLanguageVersion()
+
+
Get the current language version. +

+ The language version number affects JavaScript semantics as detailed + in the overview documentation. +

+

+ +
Returns:
an integer that is one of VERSION_1_0, VERSION_1_1, etc.
+
+
+
+ +

+setLanguageVersion

+
+public void setLanguageVersion(int version)
+
+
Set the language version. + +

+ Setting the language version will affect functions and scripts compiled + subsequently. See the overview documentation for version-specific + behavior. +

+

+
Parameters:
version - the version as specified by VERSION_1_0, VERSION_1_1, etc.
+
+
+
+ +

+isValidLanguageVersion

+
+public static boolean isValidLanguageVersion(int version)
+
+
+
+
+
+
+ +

+checkLanguageVersion

+
+public static void checkLanguageVersion(int version)
+
+
+
+
+
+
+ +

+getImplementationVersion

+
+public final java.lang.String getImplementationVersion()
+
+
Get the implementation version. + +

+ The implementation version is of the form +

+    "name langVer release relNum date"
+ 
+ where name is the name of the product, langVer is + the language version, relNum is the release number, and + date is the release date for that specific + release in the form "yyyy mm dd". +

+

+ +
Returns:
a string that encodes the product, language version, release + number, and date.
+
+
+
+ +

+getErrorReporter

+
+public final ErrorReporter getErrorReporter()
+
+
Get the current error reporter. +

+

+
See Also:
ErrorReporter
+
+
+
+ +

+setErrorReporter

+
+public final ErrorReporter setErrorReporter(ErrorReporter reporter)
+
+
Change the current error reporter. +

+

+ +
Returns:
the previous error reporter
See Also:
ErrorReporter
+
+
+
+ +

+getLocale

+
+public final java.util.Locale getLocale()
+
+
Get the current locale. Returns the default locale if none has + been set. +

+

+
See Also:
Locale
+
+
+
+ +

+setLocale

+
+public final java.util.Locale setLocale(java.util.Locale loc)
+
+
Set the current locale. +

+

+
See Also:
Locale
+
+
+
+ +

+addPropertyChangeListener

+
+public final void addPropertyChangeListener(java.beans.PropertyChangeListener l)
+
+
Register an object to receive notifications when a bound property + has changed +

+

+
Parameters:
l - the listener
See Also:
PropertyChangeEvent, +removePropertyChangeListener(java.beans.PropertyChangeListener)
+
+
+
+ +

+removePropertyChangeListener

+
+public final void removePropertyChangeListener(java.beans.PropertyChangeListener l)
+
+
Remove an object from the list of objects registered to receive + notification of changes to a bounded property +

+

+
Parameters:
l - the listener
See Also:
PropertyChangeEvent, +addPropertyChangeListener(java.beans.PropertyChangeListener)
+
+
+
+ +

+reportWarning

+
+public static void reportWarning(java.lang.String message,
+                                 java.lang.String sourceName,
+                                 int lineno,
+                                 java.lang.String lineSource,
+                                 int lineOffset)
+
+
Report a warning using the error reporter for the current thread. +

+

+
Parameters:
message - the warning message to report
sourceName - a string describing the source, such as a filename
lineno - the starting line number
lineSource - the text of the line (may be null)
lineOffset - the offset into lineSource where problem was detected
See Also:
ErrorReporter
+
+
+
+ +

+reportWarning

+
+public static void reportWarning(java.lang.String message)
+
+
Report a warning using the error reporter for the current thread. +

+

+
Parameters:
message - the warning message to report
See Also:
ErrorReporter
+
+
+
+ +

+reportWarning

+
+public static void reportWarning(java.lang.String message,
+                                 java.lang.Throwable t)
+
+
+
+
+
+
+ +

+reportError

+
+public static void reportError(java.lang.String message,
+                               java.lang.String sourceName,
+                               int lineno,
+                               java.lang.String lineSource,
+                               int lineOffset)
+
+
Report an error using the error reporter for the current thread. +

+

+
Parameters:
message - the error message to report
sourceName - a string describing the source, such as a filename
lineno - the starting line number
lineSource - the text of the line (may be null)
lineOffset - the offset into lineSource where problem was detected
See Also:
ErrorReporter
+
+
+
+ +

+reportError

+
+public static void reportError(java.lang.String message)
+
+
Report an error using the error reporter for the current thread. +

+

+
Parameters:
message - the error message to report
See Also:
ErrorReporter
+
+
+
+ +

+reportRuntimeError

+
+public static EvaluatorException reportRuntimeError(java.lang.String message,
+                                                    java.lang.String sourceName,
+                                                    int lineno,
+                                                    java.lang.String lineSource,
+                                                    int lineOffset)
+
+
Report a runtime error using the error reporter for the current thread. +

+

+
Parameters:
message - the error message to report
sourceName - a string describing the source, such as a filename
lineno - the starting line number
lineSource - the text of the line (may be null)
lineOffset - the offset into lineSource where problem was detected +
Returns:
a runtime exception that will be thrown to terminate the + execution of the script
See Also:
ErrorReporter
+
+
+
+ +

+reportRuntimeError

+
+public static EvaluatorException reportRuntimeError(java.lang.String message)
+
+
Report a runtime error using the error reporter for the current thread. +

+

+
Parameters:
message - the error message to report
See Also:
ErrorReporter
+
+
+
+ +

+initStandardObjects

+
+public final ScriptableObject initStandardObjects()
+
+
Initialize the standard objects. + + Creates instances of the standard objects and their constructors + (Object, String, Number, Date, etc.), setting up 'scope' to act + as a global object as in ECMA 15.1.

+ + This method must be called to initialize a scope before scripts + can be evaluated in that scope.

+ + This method does not affect the Context it is called upon. +

+

+ +
Returns:
the initialized scope
+
+
+
+ +

+initStandardObjects

+
+public final Scriptable initStandardObjects(ScriptableObject scope)
+
+
Initialize the standard objects. + + Creates instances of the standard objects and their constructors + (Object, String, Number, Date, etc.), setting up 'scope' to act + as a global object as in ECMA 15.1.

+ + This method must be called to initialize a scope before scripts + can be evaluated in that scope.

+ + This method does not affect the Context it is called upon. +

+

+
Parameters:
scope - the scope to initialize, or null, in which case a new + object will be created to serve as the scope +
Returns:
the initialized scope. The method returns the value of the scope + argument if it is not null or newly allocated scope object which + is an instance ScriptableObject.
+
+
+
+ +

+initStandardObjects

+
+public ScriptableObject initStandardObjects(ScriptableObject scope,
+                                            boolean sealed)
+
+
Initialize the standard objects. + + Creates instances of the standard objects and their constructors + (Object, String, Number, Date, etc.), setting up 'scope' to act + as a global object as in ECMA 15.1.

+ + This method must be called to initialize a scope before scripts + can be evaluated in that scope.

+ + This method does not affect the Context it is called upon.

+ + This form of the method also allows for creating "sealed" standard + objects. An object that is sealed cannot have properties added, changed, + or removed. This is useful to create a "superglobal" that can be shared + among several top-level objects. Note that sealing is not allowed in + the current ECMA/ISO language specification, but is likely for + the next version. +

+

+
Parameters:
scope - the scope to initialize, or null, in which case a new + object will be created to serve as the scope
sealed - whether or not to create sealed standard objects that + cannot be modified. +
Returns:
the initialized scope. The method returns the value of the scope + argument if it is not null or newly allocated scope object.
Since:
+
1.4R3
+
+
+
+
+ +

+getUndefinedValue

+
+public static java.lang.Object getUndefinedValue()
+
+
Get the singleton object that represents the JavaScript Undefined value. +

+

+
+
+
+
+ +

+evaluateString

+
+public final java.lang.Object evaluateString(Scriptable scope,
+                                             java.lang.String source,
+                                             java.lang.String sourceName,
+                                             int lineno,
+                                             java.lang.Object securityDomain)
+
+
Evaluate a JavaScript source string. + + The provided source name and line number are used for error messages + and for producing debug information. +

+

+
Parameters:
scope - the scope to execute in
source - the JavaScript source
sourceName - a string describing the source, such as a filename
lineno - the starting line number
securityDomain - an arbitrary object that specifies security + information about the origin or owner of the script. For + implementations that don't care about security, this value + may be null. +
Returns:
the result of evaluating the string
See Also:
SecurityController
+
+
+
+ +

+evaluateReader

+
+public final java.lang.Object evaluateReader(Scriptable scope,
+                                             java.io.Reader in,
+                                             java.lang.String sourceName,
+                                             int lineno,
+                                             java.lang.Object securityDomain)
+                                      throws java.io.IOException
+
+
Evaluate a reader as JavaScript source. + + All characters of the reader are consumed. +

+

+
Parameters:
scope - the scope to execute in
in - the Reader to get JavaScript source from
sourceName - a string describing the source, such as a filename
lineno - the starting line number
securityDomain - an arbitrary object that specifies security + information about the origin or owner of the script. For + implementations that don't care about security, this value + may be null. +
Returns:
the result of evaluating the source +
Throws: +
java.io.IOException - if an IOException was generated by the Reader
+
+
+
+ +

+stringIsCompilableUnit

+
+public final boolean stringIsCompilableUnit(java.lang.String source)
+
+
Check whether a string is ready to be compiled. +

+ stringIsCompilableUnit is intended to support interactive compilation of + javascript. If compiling the string would result in an error + that might be fixed by appending more source, this method + returns false. In every other case, it returns true. +

+ Interactive shells may accumulate source lines, using this + method after each new line is appended to check whether the + statement being entered is complete. +

+

+
Parameters:
source - the source buffer to check +
Returns:
whether the source is ready for compilation
Since:
+
1.4 Release 2
+
+
+
+
+ +

+compileReader

+
+public final Script compileReader(Scriptable scope,
+                                  java.io.Reader in,
+                                  java.lang.String sourceName,
+                                  int lineno,
+                                  java.lang.Object securityDomain)
+                           throws java.io.IOException
+
+
Deprecated.  +

+

+ +
Throws: +
java.io.IOException
See Also:
compileReader(Reader in, String sourceName, int lineno, + Object securityDomain)
+
+
+
+ +

+compileReader

+
+public final Script compileReader(java.io.Reader in,
+                                  java.lang.String sourceName,
+                                  int lineno,
+                                  java.lang.Object securityDomain)
+                           throws java.io.IOException
+
+
Compiles the source in the given reader. +

+ Returns a script that may later be executed. + Will consume all the source in the reader. +

+

+
Parameters:
in - the input reader
sourceName - a string describing the source, such as a filename
lineno - the starting line number for reporting errors
securityDomain - an arbitrary object that specifies security + information about the origin or owner of the script. For + implementations that don't care about security, this value + may be null. +
Returns:
a script that may later be executed +
Throws: +
java.io.IOException - if an IOException was generated by the Reader
See Also:
Script
+
+
+
+ +

+compileString

+
+public final Script compileString(java.lang.String source,
+                                  java.lang.String sourceName,
+                                  int lineno,
+                                  java.lang.Object securityDomain)
+
+
Compiles the source in the given string. +

+ Returns a script that may later be executed. +

+

+
Parameters:
source - the source string
sourceName - a string describing the source, such as a filename
lineno - the starting line number for reporting errors
securityDomain - an arbitrary object that specifies security + information about the origin or owner of the script. For + implementations that don't care about security, this value + may be null. +
Returns:
a script that may later be executed
See Also:
Script
+
+
+
+ +

+compileFunction

+
+public final Function compileFunction(Scriptable scope,
+                                      java.lang.String source,
+                                      java.lang.String sourceName,
+                                      int lineno,
+                                      java.lang.Object securityDomain)
+
+
Compile a JavaScript function. +

+ The function source must be a function definition as defined by + ECMA (e.g., "function f(a) { return a; }"). +

+

+
Parameters:
scope - the scope to compile relative to
source - the function definition source
sourceName - a string describing the source, such as a filename
lineno - the starting line number
securityDomain - an arbitrary object that specifies security + information about the origin or owner of the script. For + implementations that don't care about security, this value + may be null. +
Returns:
a Function that may later be called
See Also:
Function
+
+
+
+ +

+decompileScript

+
+public final java.lang.String decompileScript(Script script,
+                                              int indent)
+
+
Decompile the script. +

+ The canonical source of the script is returned. +

+

+
Parameters:
script - the script to decompile
indent - the number of spaces to indent the result +
Returns:
a string representing the script source
+
+
+
+ +

+decompileFunction

+
+public final java.lang.String decompileFunction(Function fun,
+                                                int indent)
+
+
Decompile a JavaScript Function. +

+ Decompiles a previously compiled JavaScript function object to + canonical source. +

+ Returns function body of '[native code]' if no decompilation + information is available. +

+

+
Parameters:
fun - the JavaScript function to decompile
indent - the number of spaces to indent the result +
Returns:
a string representing the function source
+
+
+
+ +

+decompileFunctionBody

+
+public final java.lang.String decompileFunctionBody(Function fun,
+                                                    int indent)
+
+
Decompile the body of a JavaScript Function. +

+ Decompiles the body a previously compiled JavaScript Function + object to canonical source, omitting the function header and + trailing brace. + + Returns '[native code]' if no decompilation information is available. +

+

+
Parameters:
fun - the JavaScript function to decompile
indent - the number of spaces to indent the result +
Returns:
a string representing the function body source.
+
+
+
+ +

+newObject

+
+public final Scriptable newObject(Scriptable scope)
+
+
Create a new JavaScript object. + + Equivalent to evaluating "new Object()". +

+

+
Parameters:
scope - the scope to search for the constructor and to evaluate + against +
Returns:
the new object
+
+
+
+ +

+newObject

+
+public final Scriptable newObject(Scriptable scope,
+                                  java.lang.String constructorName)
+
+
Create a new JavaScript object by executing the named constructor. + + The call newObject(scope, "Foo") is equivalent to + evaluating "new Foo()". +

+

+
Parameters:
scope - the scope to search for the constructor and to evaluate against
constructorName - the name of the constructor to call +
Returns:
the new object
+
+
+
+ +

+newObject

+
+public final Scriptable newObject(Scriptable scope,
+                                  java.lang.String constructorName,
+                                  java.lang.Object[] args)
+
+
Creates a new JavaScript object by executing the named constructor. + + Searches scope for the named constructor, calls it with + the given arguments, and returns the result.

+ + The code +

+ Object[] args = { "a", "b" };
+ newObject(scope, "Foo", args)
+ is equivalent to evaluating "new Foo('a', 'b')", assuming that the Foo + constructor has been defined in scope. +

+

+
Parameters:
scope - The scope to search for the constructor and to evaluate + against
constructorName - the name of the constructor to call
args - the array of arguments for the constructor +
Returns:
the new object
+
+
+
+ +

+newArray

+
+public final Scriptable newArray(Scriptable scope,
+                                 int length)
+
+
Create an array with a specified initial length. +

+

+

+
Parameters:
scope - the scope to create the object in
length - the initial length (JavaScript arrays may have + additional properties added dynamically). +
Returns:
the new array object
+
+
+
+ +

+newArray

+
+public final Scriptable newArray(Scriptable scope,
+                                 java.lang.Object[] elements)
+
+
Create an array with a set of initial elements. +

+

+
Parameters:
scope - the scope to create the object in.
elements - the initial elements. Each object in this array + must be an acceptable JavaScript type and type + of array should be exactly Object[], not + SomeObjectSubclass[]. +
Returns:
the new array object.
+
+
+
+ +

+getElements

+
+public final java.lang.Object[] getElements(Scriptable object)
+
+
Get the elements of a JavaScript array. +

+ If the object defines a length property convertible to double number, + then the number is converted Uint32 value as defined in Ecma 9.6 + and Java array of that size is allocated. + The array is initialized with the values obtained by + calling get() on object for each value of i in [0,length-1]. If + there is not a defined value for a property the Undefined value + is used to initialize the corresponding element in the array. The + Java array is then returned. + If the object doesn't define a length property or it is not a number, + empty array is returned. +

+

+
Parameters:
object - the JavaScript array or array-like object +
Returns:
a Java array of objects
Since:
+
1.4 release 2
+
+
+
+
+ +

+toBoolean

+
+public static boolean toBoolean(java.lang.Object value)
+
+
Convert the value to a JavaScript boolean value. +

+ See ECMA 9.2. +

+

+
Parameters:
value - a JavaScript value +
Returns:
the corresponding boolean value converted using + the ECMA rules
+
+
+
+ +

+toNumber

+
+public static double toNumber(java.lang.Object value)
+
+
Convert the value to a JavaScript Number value. +

+ Returns a Java double for the JavaScript Number. +

+ See ECMA 9.3. +

+

+
Parameters:
value - a JavaScript value +
Returns:
the corresponding double value converted using + the ECMA rules
+
+
+
+ +

+toString

+
+public static java.lang.String toString(java.lang.Object value)
+
+
Convert the value to a JavaScript String value. +

+ See ECMA 9.8. +

+

+

+
Parameters:
value - a JavaScript value +
Returns:
the corresponding String value converted using + the ECMA rules
+
+
+
+ +

+toObject

+
+public static Scriptable toObject(java.lang.Object value,
+                                  Scriptable scope)
+
+
Convert the value to an JavaScript object value. +

+ Note that a scope must be provided to look up the constructors + for Number, Boolean, and String. +

+ See ECMA 9.9. +

+ Additionally, arbitrary Java objects and classes will be + wrapped in a Scriptable object with its Java fields and methods + reflected as JavaScript properties of the object. +

+

+
Parameters:
value - any Java object
scope - global scope containing constructors for Number, + Boolean, and String +
Returns:
new JavaScript object
+
+
+
+ +

+toObject

+
+public static Scriptable toObject(java.lang.Object value,
+                                  Scriptable scope,
+                                  java.lang.Class staticType)
+
+
Deprecated.  +

+

+
See Also:
toObject(Object, Scriptable)
+
+
+
+ +

+javaToJS

+
+public static java.lang.Object javaToJS(java.lang.Object value,
+                                        Scriptable scope)
+
+
Convenient method to convert java value to its closest representation + in JavaScript. +

+ If value is an instance of String, Number, Boolean, Function or + Scriptable, it is returned as it and will be treated as the corresponding + JavaScript type of string, number, boolean, function and object. +

+ Note that for Number instances during any arithmetic operation in + JavaScript the engine will always use the result of + Number.doubleValue() resulting in a precision loss if + the number can not fit into double. +

+ If value is an instance of Character, it will be converted to string of + length 1 and its JavaScript type will be string. +

+ The rest of values will be wrapped as LiveConnect objects + by calling WrapFactory.wrap(Context cx, Scriptable scope, + Object obj, Class staticType) as in: +

+    Context cx = Context.getCurrentContext();
+    return cx.getWrapFactory().wrap(cx, scope, value, null);
+ 
+

+

+
Parameters:
value - any Java object
scope - top scope object +
Returns:
value suitable to pass to any API that takes JavaScript values.
+
+
+
+ +

+jsToJava

+
+public static java.lang.Object jsToJava(java.lang.Object value,
+                                        java.lang.Class desiredType)
+                                 throws EvaluatorException
+
+
Convert a JavaScript value into the desired type. + Uses the semantics defined with LiveConnect3 and throws an + Illegal argument exception if the conversion cannot be performed. +

+

+
Parameters:
value - the JavaScript value to convert
desiredType - the Java type to convert to. Primitive Java + types are represented using the TYPE fields in the corresponding + wrapper class in java.lang. +
Returns:
the converted value +
Throws: +
EvaluatorException - if the conversion cannot be performed
+
+
+
+ +

+toType

+
+public static java.lang.Object toType(java.lang.Object value,
+                                      java.lang.Class desiredType)
+                               throws java.lang.IllegalArgumentException
+
+
Deprecated.  +

+

+ +
Throws: +
java.lang.IllegalArgumentException - if the conversion cannot be performed. + Note that jsToJava(Object, Class) throws + EvaluatorException instead.
See Also:
jsToJava(Object, Class)
+
+
+
+ +

+throwAsScriptRuntimeEx

+
+public static java.lang.RuntimeException throwAsScriptRuntimeEx(java.lang.Throwable e)
+
+
Rethrow the exception wrapping it as the script runtime exception. + Unless the exception is instance of EcmaError or + EvaluatorException it will be wrapped as + WrappedException, a subclass of EvaluatorException. + The resulting exception object always contains + source name and line number of script that triggered exception. +

+ This method always throws an exception, its return value is provided + only for convenience to allow a usage like: +

+ throw Context.throwAsScriptRuntimeEx(ex);
+ 
+ to indicate that code after the method is unreachable. +

+

+ +
Throws: +
EvaluatorException +
EcmaError
+
+
+
+ +

+isGeneratingDebug

+
+public final boolean isGeneratingDebug()
+
+
Tell whether debug information is being generated. +

+

+
Since:
+
1.3
+
+
+
+
+ +

+setGeneratingDebug

+
+public final void setGeneratingDebug(boolean generatingDebug)
+
+
Specify whether or not debug information should be generated. +

+ Setting the generation of debug information on will set the + optimization level to zero. +

+

+
Since:
+
1.3
+
+
+
+
+ +

+isGeneratingSource

+
+public final boolean isGeneratingSource()
+
+
Tell whether source information is being generated. +

+

+
Since:
+
1.3
+
+
+
+
+ +

+setGeneratingSource

+
+public final void setGeneratingSource(boolean generatingSource)
+
+
Specify whether or not source information should be generated. +

+ Without source information, evaluating the "toString" method + on JavaScript functions produces only "[native code]" for + the body of the function. + Note that code generated without source is not fully ECMA + conformant. +

+

+
Since:
+
1.3
+
+
+
+
+ +

+getOptimizationLevel

+
+public final int getOptimizationLevel()
+
+
Get the current optimization level. +

+ The optimization level is expressed as an integer between -1 and + 9. +

+

+
Since:
+
1.3
+
+
+
+
+ +

+setOptimizationLevel

+
+public final void setOptimizationLevel(int optimizationLevel)
+
+
Set the current optimization level. +

+ The optimization level is expected to be an integer between -1 and + 9. Any negative values will be interpreted as -1, and any values + greater than 9 will be interpreted as 9. + An optimization level of -1 indicates that interpretive mode will + always be used. Levels 0 through 9 indicate that class files may + be generated. Higher optimization levels trade off compile time + performance for runtime performance. + The optimizer level can't be set greater than -1 if the optimizer + package doesn't exist at run time. +

+

+
Parameters:
optimizationLevel - an integer indicating the level of + optimization to perform
Since:
+
1.3
+
+
+
+
+ +

+isValidOptimizationLevel

+
+public static boolean isValidOptimizationLevel(int optimizationLevel)
+
+
+
+
+
+
+ +

+checkOptimizationLevel

+
+public static void checkOptimizationLevel(int optimizationLevel)
+
+
+
+
+
+
+ +

+getMaximumInterpreterStackDepth

+
+public final int getMaximumInterpreterStackDepth()
+
+
Returns the maximum stack depth (in terms of number of call frames) + allowed in a single invocation of interpreter. If the set depth would be + exceeded, the interpreter will throw an EvaluatorException in the script. + Defaults to Integer.MAX_VALUE. The setting only has effect for + interpreted functions (those compiled with optimization level set to -1). + As the interpreter doesn't use the Java stack but rather manages its own + stack in the heap memory, a runaway recursion in interpreted code would + eventually consume all available memory and cause OutOfMemoryError + instead of a StackOverflowError limited to only a single thread. This + setting helps prevent such situations. +

+

+ +
Returns:
The current maximum interpreter stack depth.
+
+
+
+ +

+setMaximumInterpreterStackDepth

+
+public final void setMaximumInterpreterStackDepth(int max)
+
+
Sets the maximum stack depth (in terms of number of call frames) + allowed in a single invocation of interpreter. If the set depth would be + exceeded, the interpreter will throw an EvaluatorException in the script. + Defaults to Integer.MAX_VALUE. The setting only has effect for + interpreted functions (those compiled with optimization level set to -1). + As the interpreter doesn't use the Java stack but rather manages its own + stack in the heap memory, a runaway recursion in interpreted code would + eventually consume all available memory and cause OutOfMemoryError + instead of a StackOverflowError limited to only a single thread. This + setting helps prevent such situations. +

+

+
Parameters:
max - the new maximum interpreter stack depth +
Throws: +
java.lang.IllegalStateException - if this context's optimization level is not + -1 +
java.lang.IllegalArgumentException - if the new depth is not at least 1
+
+
+
+ +

+setSecurityController

+
+public final void setSecurityController(SecurityController controller)
+
+
Set the security controller for this context. +

SecurityController may only be set if it is currently null + and SecurityController.hasGlobal() is false. + Otherwise a SecurityException is thrown. +

+

+
Parameters:
controller - a SecurityController object +
Throws: +
java.lang.SecurityException - if there is already a SecurityController + object for this Context or globally installed.
See Also:
SecurityController.initGlobal(SecurityController controller), +SecurityController.hasGlobal()
+
+
+
+ +

+setClassShutter

+
+public final void setClassShutter(ClassShutter shutter)
+
+
Set the LiveConnect access filter for this context. +

ClassShutter may only be set if it is currently null. + Otherwise a SecurityException is thrown. +

+

+
Parameters:
shutter - a ClassShutter object +
Throws: +
java.lang.SecurityException - if there is already a ClassShutter + object for this Context
+
+
+
+ +

+getThreadLocal

+
+public final java.lang.Object getThreadLocal(java.lang.Object key)
+
+
Get a value corresponding to a key. +

+ Since the Context is associated with a thread it can be + used to maintain values that can be later retrieved using + the current thread. +

+ Note that the values are maintained with the Context, so + if the Context is disassociated from the thread the values + cannot be retrieved. Also, if private data is to be maintained + in this manner the key should be a java.lang.Object + whose reference is not divulged to untrusted code. +

+

+
Parameters:
key - the key used to lookup the value +
Returns:
a value previously stored using putThreadLocal.
+
+
+
+ +

+putThreadLocal

+
+public final void putThreadLocal(java.lang.Object key,
+                                 java.lang.Object value)
+
+
Put a value that can later be retrieved using a given key. +

+

+

+
Parameters:
key - the key used to index the value
value - the value to save
+
+
+
+ +

+removeThreadLocal

+
+public final void removeThreadLocal(java.lang.Object key)
+
+
Remove values from thread-local storage. +

+

+
Parameters:
key - the key for the entry to remove.
Since:
+
1.5 release 2
+
+
+
+
+ +

+hasCompileFunctionsWithDynamicScope

+
+public final boolean hasCompileFunctionsWithDynamicScope()
+
+
Deprecated.  +

+

+
See Also:
FEATURE_DYNAMIC_SCOPE, +hasFeature(int)
+
+
+
+ +

+setCompileFunctionsWithDynamicScope

+
+public final void setCompileFunctionsWithDynamicScope(boolean flag)
+
+
Deprecated.  +

+

+
See Also:
FEATURE_DYNAMIC_SCOPE, +hasFeature(int)
+
+
+
+ +

+setCachingEnabled

+
+public static void setCachingEnabled(boolean cachingEnabled)
+
+
Deprecated.  +

+

+
See Also:
ClassCache.get(Scriptable), +ClassCache.setCachingEnabled(boolean)
+
+
+
+ +

+setWrapFactory

+
+public final void setWrapFactory(WrapFactory wrapFactory)
+
+
Set a WrapFactory for this Context. +

+ The WrapFactory allows custom object wrapping behavior for + Java object manipulated with JavaScript. +

+

+
Since:
+
1.5 Release 4
+
See Also:
WrapFactory
+
+
+
+ +

+getWrapFactory

+
+public final WrapFactory getWrapFactory()
+
+
Return the current WrapFactory, or null if none is defined. +

+

+
Since:
+
1.5 Release 4
+
See Also:
WrapFactory
+
+
+
+ +

+getDebugger

+
+public final org.mozilla.javascript.debug.Debugger getDebugger()
+
+
Return the current debugger. +

+

+ +
Returns:
the debugger, or null if none is attached.
+
+
+
+ +

+getDebuggerContextData

+
+public final java.lang.Object getDebuggerContextData()
+
+
Return the debugger context data associated with current context. +

+

+ +
Returns:
the debugger data, or null if debugger is not attached
+
+
+
+ +

+setDebugger

+
+public final void setDebugger(org.mozilla.javascript.debug.Debugger debugger,
+                              java.lang.Object contextData)
+
+
Set the associated debugger. +

+

+
Parameters:
debugger - the debugger to be used on callbacks from + the engine.
contextData - arbitrary object that debugger can use to store + per Context data.
+
+
+
+ +

+getDebuggableView

+
+public static DebuggableScript getDebuggableView(Script script)
+
+
Return DebuggableScript instance if any associated with the script. + If callable supports DebuggableScript implementation, the method + returns it. Otherwise null is returned. +

+

+
+
+
+
+ +

+hasFeature

+
+public boolean hasFeature(int featureIndex)
+
+
Controls certain aspects of script semantics. + Should be overwritten to alter default behavior. +

+ The default implementation calls + ContextFactory.hasFeature(Context cx, int featureIndex) + that allows to customize Context behavior without introducing + Context subclasses. ContextFactory documentation gives + an example of hasFeature implementation. +

+

+
Parameters:
featureIndex - feature index to check +
Returns:
true if the featureIndex feature is turned on
See Also:
FEATURE_NON_ECMA_GET_YEAR, +FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME, +FEATURE_RESERVED_KEYWORD_AS_IDENTIFIER, +FEATURE_TO_STRING_AS_SOURCE, +FEATURE_PARENT_PROTO_PROPRTIES, +FEATURE_E4X, +FEATURE_DYNAMIC_SCOPE, +FEATURE_STRICT_VARS, +FEATURE_STRICT_EVAL, +FEATURE_LOCATION_INFORMATION_IN_ERROR, +FEATURE_STRICT_MODE, +FEATURE_WARNING_AS_ERROR, +FEATURE_ENHANCED_JAVA_ACCESS
+
+
+
+ +

+getE4xImplementationFactory

+
+public org.mozilla.javascript.xml.XMLLib.Factory getE4xImplementationFactory()
+
+
Returns an object which specifies an E4X implementation to use within + this Context. Note + that the XMLLib.Factory interface should be considered experimental. + + The default implementation uses the implementation provided by this + Context's ContextFactory. +

+

+ +
Returns:
An XMLLib.Factory. Should not return null if + FEATURE_E4X is enabled. See hasFeature(int).
+
+
+
+ +

+getInstructionObserverThreshold

+
+public final int getInstructionObserverThreshold()
+
+
Get threshold of executed instructions counter that triggers call to + observeInstructionCount(). + When the threshold is zero, instruction counting is disabled, + otherwise each time the run-time executes at least the threshold value + of script instructions, observeInstructionCount() will + be called. +

+

+
+
+
+
+ +

+setInstructionObserverThreshold

+
+public final void setInstructionObserverThreshold(int threshold)
+
+
Set threshold of executed instructions counter that triggers call to + observeInstructionCount(). + When the threshold is zero, instruction counting is disabled, + otherwise each time the run-time executes at least the threshold value + of script instructions, observeInstructionCount() will + be called.

+ Note that the meaning of "instruction" is not guaranteed to be + consistent between compiled and interpretive modes: executing a given + script or function in the different modes will result in different + instruction counts against the threshold. + setGenerateObserverCount(boolean) is called with true if + threshold is greater than zero, false otherwise. +

+

+
Parameters:
threshold - The instruction threshold
+
+
+
+ +

+setGenerateObserverCount

+
+public void setGenerateObserverCount(boolean generateObserverCount)
+
+
Turn on or off generation of code with callbacks to + track the count of executed instructions. + Currently only affects JVM byte code generation: this slows down the + generated code, but code generated without the callbacks will not + be counted toward instruction thresholds. Rhino's interpretive + mode does instruction counting without inserting callbacks, so + there is no requirement to compile code differently. +

+

+
Parameters:
generateObserverCount - if true, generated code will contain + calls to accumulate an estimate of the instructions executed.
+
+
+
+ +

+observeInstructionCount

+
+protected void observeInstructionCount(int instructionCount)
+
+
Allow application to monitor counter of executed script instructions + in Context subclasses. + Run-time calls this when instruction counting is enabled and the counter + reaches limit set by setInstructionObserverThreshold(). + The method is useful to observe long running scripts and if necessary + to terminate them. +

+ The instruction counting support is available only for interpreted + scripts generated when the optimization level is set to -1. +

+ The default implementation calls + ContextFactory.observeInstructionCount(Context cx, + int instructionCount) + that allows to customize Context behavior without introducing + Context subclasses. +

+

+
Parameters:
instructionCount - amount of script instruction executed since + last call to observeInstructionCount +
Throws: +
java.lang.Error - to terminate the script
See Also:
setOptimizationLevel(int)
+
+
+
+ +

+createClassLoader

+
+public GeneratedClassLoader createClassLoader(java.lang.ClassLoader parent)
+
+
Create class loader for generated classes. + The method calls ContextFactory.createClassLoader(ClassLoader) + using the result of getFactory(). +

+

+
+
+
+
+ +

+getApplicationClassLoader

+
+public final java.lang.ClassLoader getApplicationClassLoader()
+
+
+
+
+
+
+ +

+setApplicationClassLoader

+
+public final void setApplicationClassLoader(java.lang.ClassLoader loader)
+
+
+
+
+
+
+ +

+isGeneratingDebugChanged

+
+public final boolean isGeneratingDebugChanged()
+
+
+
+
+
+
+ +

+addActivationName

+
+public void addActivationName(java.lang.String name)
+
+
Add a name to the list of names forcing the creation of real + activation objects for functions. +

+

+
Parameters:
name - the name of the object to add to the list
+
+
+
+ +

+isActivationNeeded

+
+public final boolean isActivationNeeded(java.lang.String name)
+
+
Check whether the name is in the list of names of objects + forcing the creation of activation objects. +

+

+
Parameters:
name - the name of the object to test +
Returns:
true if an function activation object is needed.
+
+
+
+ +

+removeActivationName

+
+public void removeActivationName(java.lang.String name)
+
+
Remove a name from the list of names forcing the creation of real + activation objects for functions. +

+

+
Parameters:
name - the name of the object to remove from the list
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + -- cgit v1.2.3