java.lang.Object
org.mozilla.javascript.ScriptableObject
org.mozilla.javascript.IdScriptableObject
org.mozilla.javascript.TopLevel
org.mozilla.javascript.ImporterTopLevel
org.mozilla.javascript.tools.shell.Global
All Implemented Interfaces:
Serializable, org.mozilla.javascript.ConstProperties, org.mozilla.javascript.debug.DebuggableObject, org.mozilla.javascript.IdFunctionCall, org.mozilla.javascript.Scriptable, org.mozilla.javascript.SymbolScriptable

public class Global extends org.mozilla.javascript.ImporterTopLevel
This class provides for sharing functions across multiple threads. This is of particular interest to server applications.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.mozilla.javascript.TopLevel

    org.mozilla.javascript.TopLevel.Builtins

    Nested classes/interfaces inherited from class org.mozilla.javascript.ScriptableObject

    org.mozilla.javascript.ScriptableObject.KeyComparator
  • Field Summary

    Fields inherited from class org.mozilla.javascript.ScriptableObject

    CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST

    Fields inherited from interface org.mozilla.javascript.Scriptable

    NOT_FOUND
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    Global(org.mozilla.javascript.Context cx)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    defineClass(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Load a Java class that defines a JavaScript object using the conventions outlined in ScriptableObject.defineClass.
    static Object
    deserialize(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
     
    static Object
    doctest(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Example: doctest("js> function f() {\n > return 3;\n > }\njs> f();\n3\n"); returns 2 (since 2 tests were executed).
    static void
    gc(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
     
     
     
     
     
    getPrompts(org.mozilla.javascript.Context cx)
     
    static void
    help(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Print a help message.
    void
    init(org.mozilla.javascript.Context cx)
     
    void
    init(org.mozilla.javascript.ContextFactory factory)
     
    void
    Set the action to call from quit().
    org.mozilla.javascript.commonjs.module.Require
    installRequire(org.mozilla.javascript.Context cx, List<String> modulePath, boolean sandboxed)
     
    boolean
     
    static void
    load(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Load and execute a set of JavaScript source files.
    static void
    loadClass(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Load and execute a script compiled to a class file.
    static Object
    print(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Print the string values of its arguments.
    static void
    quit(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Call embedding-specific quit action passing its argument as int32 exit code.
    static Object
    readFile(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.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 Object
    readline(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    The readline reads one line from the standard input.
    static Object
    readUrl(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.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 Object
    runCommand(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Execute the specified command with the given argument and options as a separate process and return the exit status of the process.
    int
    runDoctest(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable scope, String session, String sourceName, int lineNumber)
     
    static void
    seal(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    The seal function seals all supplied arguments.
    static void
    serialize(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
     
    void
     
    void
     
    void
     
    void
    setSealedStdLib(boolean value)
     
    static Object
    spawn(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    The spawn function runs a given function or script in a different thread.
    static Object
    sync(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    The sync function creates a synchronized function (in the sense of a Java synchronized method) from an existing function.
    static Object
    toint32(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Convert the argument to int32 number.
    static double
    version(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Get and set the language version.
    static Object
    write(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    Print just as in "print," but without the trailing newline.

    Methods inherited from class org.mozilla.javascript.ImporterTopLevel

    execIdCall, findPrototypeId, get, getClassName, has, importPackage, init, initPrototypeId, initStandardObjects

    Methods inherited from class org.mozilla.javascript.TopLevel

    cacheBuiltins, getBuiltinCtor, getBuiltinCtor, getBuiltinPrototype, getBuiltinPrototype

    Methods inherited from class org.mozilla.javascript.IdScriptableObject

    activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultHas, defaultPut, defineOwnProperty, delete, delete, ensureType, ensureType, exportAsJSClass, fillConstructorProperties, findInstanceIdInfo, findInstanceIdInfo, findPrototypeId, get, getAttributes, getAttributes, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getOwnPropertyDescriptor, has, hasPrototypeMap, initPrototypeConstructor, initPrototypeMethod, initPrototypeMethod, initPrototypeMethod, initPrototypeValue, initPrototypeValue, instanceIdInfo, put, put, setAttributes, setInstanceIdAttributes, setInstanceIdValue

    Methods inherited from class org.mozilla.javascript.ScriptableObject

    applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChangeForSlot, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureScriptableObjectButNotSymbol, ensureSymbolScriptable, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getSuperProperty, getSuperProperty, getSuperProperty, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, hasInstance, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putOwnProperty, putOwnProperty, putOwnProperty, putProperty, putProperty, putProperty, putSuperProperty, putSuperProperty, putSuperProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setParentScope, setPrototype, size

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Global

      public Global()
    • Global

      public Global(org.mozilla.javascript.Context cx)
  • Method Details

    • isInitialized

      public boolean isInitialized()
    • initQuitAction

      public void initQuitAction(QuitAction quitAction)
      Set the action to call from quit().
    • init

      public void init(org.mozilla.javascript.ContextFactory factory)
    • init

      public void init(org.mozilla.javascript.Context cx)
    • installRequire

      public org.mozilla.javascript.commonjs.module.Require installRequire(org.mozilla.javascript.Context cx, List<String> modulePath, boolean sandboxed)
    • help

      public static void help(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      Print a help message.

      This method is defined as a JavaScript function.

    • gc

      public static void gc(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
    • print

      public static Object print(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      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

      public static Object write(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      Print just as in "print," but without the trailing newline.
    • quit

      public static void quit(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      Call embedding-specific quit action passing its argument as int32 exit code.

      This method is defined as a JavaScript function.

    • version

      public static double version(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      Get and set the language version.

      This method is defined as a JavaScript function.

    • load

      public static void load(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      Load and execute a set of JavaScript source files.

      This method is defined as a JavaScript function.

    • defineClass

      public static void defineClass(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.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 member
      InstantiationException - if unable to instantiate the named class
      InvocationTargetException - if an exception is thrown during execution of methods of the named class
      See Also:
      • ScriptableObject.defineClass(Scriptable,Class)
    • loadClass

      public static void loadClass(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.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 class
      InstantiationException - if unable to instantiate the named class
      NoSuchMethodException
      InvocationTargetException
    • serialize

      public static void serialize(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj) throws IOException
      Throws:
      IOException
    • deserialize

      public static Object deserialize(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException
    • getPrompts

      public String[] getPrompts(org.mozilla.javascript.Context cx)
    • doctest

      public static Object doctest(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      Example: doctest("js> function f() {\n > return 3;\n > }\njs> f();\n3\n"); returns 2 (since 2 tests were executed).
    • runDoctest

      public int runDoctest(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable scope, String session, String sourceName, int lineNumber)
    • spawn

      public static Object spawn(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      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 3

    • sync

      public static Object sync(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      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 the this object 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(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.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 arguments
      • env - 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.
      Throws:
      IOException
    • seal

      public static void seal(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      The seal function seals all supplied arguments.
    • readFile

      public static Object readFile(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.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(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.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

      public static Object toint32(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj)
      Convert the argument to int32 number.
    • getConsole

      public ShellConsole getConsole(Charset cs)
    • getIn

      public InputStream getIn()
    • setIn

      public void setIn(InputStream in)
    • getOut

      public PrintStream getOut()
    • setOut

      public void setOut(PrintStream out)
    • getErr

      public PrintStream getErr()
    • setErr

      public void setErr(PrintStream err)
    • setSealedStdLib

      public void setSealedStdLib(boolean value)
    • readline

      public static Object readline(org.mozilla.javascript.Context cx, org.mozilla.javascript.Scriptable thisObj, Object[] args, org.mozilla.javascript.Function funObj) throws IOException
      The readline reads one line from the standard input. "Prompt" is optional.

      Usage:

       readline(prompt)
       
      Throws:
      IOException