java.lang.Object
org.htmlunit.corejs.javascript.SlotMapOwner<VarScope>
org.htmlunit.corejs.javascript.ScopeObject
org.htmlunit.corejs.javascript.TopLevel
org.htmlunit.corejs.javascript.ImporterTopLevel
org.htmlunit.corejs.javascript.tools.shell.Global
- All Implemented Interfaces:
Serializable,ConstProperties<VarScope>,PropHolder<VarScope>,VarScope
This class provides for sharing functions across multiple threads. This is of particular interest
to server applications.
- Author:
- Norris Boyd
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceoptioal interface to specify a launcher, that creates a process for the runCommand method.Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ImporterTopLevel
ImporterTopLevel.ImporterGlobalThisNested classes/interfaces inherited from class org.htmlunit.corejs.javascript.TopLevel
TopLevel.Builtins, TopLevel.GlobalThis -
Field Summary
Fields inherited from class org.htmlunit.corejs.javascript.SlotMapOwner
isSealed -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcleanup()static voiddefineClass(Context cx, Scriptable thisObj, Object[] args, Function funObj) Load a Java class that defines a JavaScript object using the conventions outlined in ScriptableObject.defineClass.static Objectdeserialize(Context cx, Scriptable thisObj, Object[] args, Function funObj) static Objectdoctest(Context cx, Scriptable thisObj, Object[] args, Function funObj) Example: doctest("js> function f() {\n > return 3;\n > }\njs> f();\n3\n"); returns 2 (since 2 tests were executed).static voidgc(Context cx, Scriptable thisObj, Object[] args, Function funObj) getConsole(Charset cs) Return the best console that we have for interactive work.String[]getPrompts(Context cx) static voidhelp(Context cx, Scriptable thisObj, Object[] args, Function funObj) Print a help message.voidvoidinit(ContextFactory factory) voidinitQuitAction(QuitAction quitAction) Set the action to call from quit().installRequire(Context cx, List<String> modulePath, boolean sandboxed) booleanstatic voidload(Context cx, Scriptable thisObj, Object[] args, Function funObj) Load and execute a set of JavaScript source files.static voidloadClass(Context cx, Scriptable thisObj, Object[] args, Function funObj) Load and execute a script compiled to a class file.static Objectprint(Context cx, Scriptable thisObj, Object[] args, Function funObj) Print the string values of its arguments.static voidquit(Context cx, Scriptable thisObj, Object[] args, Function funObj) Call embedding-specific quit action passing its argument as int32 exit code.static ObjectreadFile(Context cx, Scriptable thisObj, Object[] args, Function funObj) The readFile reads the given file content and convert it to a string using the specified character coding or default character coding if explicit coding argument is not given.static Objectreadline(Context cx, Scriptable thisObj, Object[] args, Function funObj) The readline reads one line from the standard input.static ObjectreadUrl(Context cx, Scriptable thisObj, Object[] args, Function funObj) The readUrl opens connection to the given URL, read all its data and converts them to a string using the specified character coding or default character coding if explicit coding argument is not given.static ObjectrunCommand(Context cx, Scriptable thisObj, Object[] args, Function funObj) Execute the specified command with the given argument and options as a separate process and return the exit status of the process.intrunDoctest(Context cx, VarScope scope, String session, String sourceName, int lineNumber) static voidseal(Context cx, Scriptable thisObj, Object[] args, Function funObj) The seal function seals all supplied arguments.static voidserialize(Context cx, Scriptable thisObj, Object[] args, Function funObj) voidsetErr(PrintStream err) voidsetFileLoadPrefix(String prefix) Set a path that should be prefixed to every "load" call from the script.voidsetIn(InputStream in) voidsetOut(PrintStream out) voidsetSealedStdLib(boolean value) static Objectspawn(Context cx, Scriptable thisObj, Object[] args, Function funObj) The spawn function runs a given function or script in a different thread.static Objectsync(Context cx, Scriptable thisObj, Object[] args, Function funObj) The sync function creates a synchronized function (in the sense of a Java synchronized method) from an existing function.static Objecttoint32(Context cx, Scriptable thisObj, Object[] args, Function funObj) Convert the argument to int32 number.static doubleversion(Context cx, Scriptable thisObj, Object[] args, Function funObj) Get and set the language version.static Objectwrite(Context cx, Scriptable thisObj, Object[] args, Function funObj) Print just as in "print," but without the trailing newline.Methods inherited from class org.htmlunit.corejs.javascript.ImporterTopLevel
createIsolate, getGlobalThis, importPackage, init, init, initStandardObjectsMethods inherited from class org.htmlunit.corejs.javascript.TopLevel
cacheBuiltins, cacheBuiltins, copyBuiltins, createIsolate, createIsolate, createIsolateCustomPrototypeChain, defineConst, defineFunctionProperties, defineProperty, delete, get, getAttributes, getBuiltinCtor, getBuiltinCtor, getBuiltinPrototype, getBuiltinPrototype, getBuiltinPrototype, has, isConst, put, putConst, sealObject, setAttributesMethods inherited from class org.htmlunit.corejs.javascript.ScopeObject
defineProperty, delete, delete, get, get, getParentScope, getThis, has, has, put, put, putOwnProperty, putOwnProperty, putOwnProperty, setAttributesMethods inherited from class org.htmlunit.corejs.javascript.SlotMapOwner
associateValue, checkNotSealed, copyAssociatedValue, createSlotMap, createSlotMap, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getIds, isSealed, readMaps, setAttributes, setAttributes, setAttributes, writeMapsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.htmlunit.corejs.javascript.PropHolder
getIdsMethods inherited from interface org.htmlunit.corejs.javascript.VarScope
copyScope, getAncestor, isNestedScope
-
Constructor Details
-
Global
public Global() -
Global
-
-
Method Details
-
isInitialized
public boolean isInitialized() -
initQuitAction
Set the action to call from quit(). -
init
-
setFileLoadPrefix
Set a path that should be prefixed to every "load" call from the script. This is used in our different test environments and tools so that we can write scripts that load files using a relative location (usually starting with "testsrc") and have them always find the file -
init
-
cleanup
public void cleanup() -
installRequire
-
help
Print a help message.This method is defined as a JavaScript function.
-
gc
-
print
Print the string values of its arguments.This method is defined as a JavaScript function. Note that its arguments are of the "varargs" form, which allows it to handle an arbitrary number of arguments supplied to the JavaScript function.
-
write
Print just as in "print," but without the trailing newline. -
quit
Call embedding-specific quit action passing its argument as int32 exit code.This method is defined as a JavaScript function.
-
version
Get and set the language version.This method is defined as a JavaScript function.
-
load
Load and execute a set of JavaScript source files.This method is defined as a JavaScript function.
-
defineClass
public static void defineClass(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IllegalAccessException, InstantiationException, InvocationTargetException Load a Java class that defines a JavaScript object using the conventions outlined in ScriptableObject.defineClass.This method is defined as a JavaScript function.
- Throws:
IllegalAccessException- if access is not available to a reflected class memberInstantiationException- if unable to instantiate the named classInvocationTargetException- if an exception is thrown during execution of methods of the named class- See Also:
-
loadClass
public static void loadClass(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException Load and execute a script compiled to a class file.This method is defined as a JavaScript function. When called as a JavaScript function, a single argument is expected. This argument should be the name of a class that implements the Script interface, as will any script compiled by jsc.
- Throws:
IllegalAccessException- if access is not available to the classInstantiationException- if unable to instantiate the named classNoSuchMethodExceptionInvocationTargetException
-
serialize
public static void serialize(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IOException - Throws:
IOException
-
deserialize
public static Object deserialize(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IOException, ClassNotFoundException - Throws:
IOExceptionClassNotFoundException
-
getPrompts
-
doctest
Example: doctest("js> function f() {\n > return 3;\n > }\njs> f();\n3\n"); returns 2 (since 2 tests were executed). -
runDoctest
-
spawn
The spawn function runs a given function or script in a different thread.js> function g() { a = 7; } js> a = 3; 3 js> spawn(g) Thread[Thread-1,5,main] js> a 7 -
sync
The sync function creates a synchronized function (in the sense of a Java synchronized method) from an existing function. The new function synchronizes on the the second argument if it is defined, or otherwise thethisobject of its invocation.js> var o = { f : sync(function(x) { print("entry"); Packages.java.lang.Thread.sleep(x*1000); print("exit"); })}; js> spawn(function() {o.f(5);}); Thread[Thread-0,5,main] entry js> spawn(function() {o.f(5);}); Thread[Thread-1,5,main] js> exit entry exit -
runCommand
public static Object runCommand(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IOException Execute the specified command with the given argument and options as a separate process and return the exit status of the process.Usage:
runCommand(command) runCommand(command, arg1, ..., argN) runCommand(command, arg1, ..., argN, options)
All except the last arguments to runCommand are converted to strings and denote command name and its arguments. If the last argument is a JavaScript object, it is an option object. Otherwise it is converted to string denoting the last argument and options objects assumed to be empty. The following properties of the option object are processed:args- provides an array of additional command argumentsenv- explicit environment object. All its enumerable properties define the corresponding environment variable names.input- the process input. If it is not java.io.InputStream, it is converted to string and sent to the process as its input. If not specified, no input is provided to the process.output- the process output instead of java.lang.System.out. If it is not instance of java.io.OutputStream, the process output is read, converted to a string, appended to the output property value converted to string and put as the new value of the output property.err- the process error output instead of java.lang.System.err. If it is not instance of java.io.OutputStream, the process error output is read, converted to a string, appended to the err property value converted to string and put as the new value of the err property.dir- the working direcotry to run the commands.timeout- the maximum process runtime in milliseconds
- Throws:
IOException
-
seal
The seal function seals all supplied arguments. -
readFile
public static Object readFile(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IOException The readFile reads the given file content and convert it to a string using the specified character coding or default character coding if explicit coding argument is not given.Usage:
readFile(filePath) readFile(filePath, charCoding)
The first form converts file's context to string using the default character coding.- Throws:
IOException
-
readUrl
public static Object readUrl(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IOException The readUrl opens connection to the given URL, read all its data and converts them to a string using the specified character coding or default character coding if explicit coding argument is not given.Usage:
readUrl(url) readUrl(url, charCoding)
The first form converts file's context to string using the default charCoding.- Throws:
IOException
-
toint32
Convert the argument to int32 number. -
getConsole
Return the best console that we have for interactive work. -
getConsole
-
setIn
-
setOut
-
setErr
-
setSealedStdLib
public void setSealedStdLib(boolean value) -
readline
public static Object readline(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IOException The readline reads one line from the standard input. "Prompt" is optional.Usage:
readline(prompt)
- Throws:
IOException
-