Class Global

    • Constructor Detail

      • Global

        public Global()
      • Global

        public Global​(Context cx)
    • Method Detail

      • isInitialized

        public boolean isInitialized()
      • initQuitAction

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

        public void init​(Context cx)
      • installRequire

        public Require installRequire​(Context cx,
                                      java.util.List<java.lang.String> modulePath,
                                      boolean sandboxed)
      • help

        public static void help​(Context cx,
                                Scriptable thisObj,
                                java.lang.Object[] args,
                                Function funObj)
        Print a help message. This method is defined as a JavaScript function.
      • print

        public static java.lang.Object print​(Context cx,
                                             Scriptable thisObj,
                                             java.lang.Object[] args,
                                             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 java.lang.Object write​(Context cx,
                                             Scriptable thisObj,
                                             java.lang.Object[] args,
                                             Function funObj)
        Print just as in "print," but without the trailing newline.
      • quit

        public static void quit​(Context cx,
                                Scriptable thisObj,
                                java.lang.Object[] args,
                                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​(Context cx,
                                     Scriptable thisObj,
                                     java.lang.Object[] args,
                                     Function funObj)
        Get and set the language version. This method is defined as a JavaScript function.
      • load

        public static void load​(Context cx,
                                Scriptable thisObj,
                                java.lang.Object[] args,
                                Function funObj)
        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,
                                       java.lang.Object[] args,
                                       Function funObj)
                                throws java.lang.IllegalAccessException,
                                       java.lang.InstantiationException,
                                       java.lang.reflect.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:
        java.lang.IllegalAccessException - if access is not available to a reflected class member
        java.lang.InstantiationException - if unable to instantiate the named class
        java.lang.reflect.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​(Context cx,
                                     Scriptable thisObj,
                                     java.lang.Object[] args,
                                     Function funObj)
                              throws java.lang.IllegalAccessException,
                                     java.lang.InstantiationException
        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:
        java.lang.IllegalAccessException - if access is not available to the class
        java.lang.InstantiationException - if unable to instantiate the named class
      • serialize

        public static void serialize​(Context cx,
                                     Scriptable thisObj,
                                     java.lang.Object[] args,
                                     Function funObj)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialize

        public static java.lang.Object deserialize​(Context cx,
                                                   Scriptable thisObj,
                                                   java.lang.Object[] args,
                                                   Function funObj)
                                            throws java.io.IOException,
                                                   java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • getPrompts

        public java.lang.String[] getPrompts​(Context cx)
      • doctest

        public static java.lang.Object doctest​(Context cx,
                                               Scriptable thisObj,
                                               java.lang.Object[] args,
                                               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​(Context cx,
                              Scriptable scope,
                              java.lang.String session,
                              java.lang.String sourceName,
                              int lineNumber)
      • spawn

        public static java.lang.Object spawn​(Context cx,
                                             Scriptable thisObj,
                                             java.lang.Object[] args,
                                             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 java.lang.Object sync​(Context cx,
                                            Scriptable thisObj,
                                            java.lang.Object[] args,
                                            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 java.lang.Object runCommand​(Context cx,
                                                  Scriptable thisObj,
                                                  java.lang.Object[] args,
                                                  Function funObj)
                                           throws java.io.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:
        java.io.IOException
      • seal

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

        public static java.lang.Object readFile​(Context cx,
                                                Scriptable thisObj,
                                                java.lang.Object[] args,
                                                Function funObj)
                                         throws java.io.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:
        java.io.IOException
      • readUrl

        public static java.lang.Object readUrl​(Context cx,
                                               Scriptable thisObj,
                                               java.lang.Object[] args,
                                               Function funObj)
                                        throws java.io.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:
        java.io.IOException
      • toint32

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

        public ShellConsole getConsole​(java.nio.charset.Charset cs)
      • getIn

        public java.io.InputStream getIn()
      • setIn

        public void setIn​(java.io.InputStream in)
      • getOut

        public java.io.PrintStream getOut()
      • setOut

        public void setOut​(java.io.PrintStream out)
      • getErr

        public java.io.PrintStream getErr()
      • setErr

        public void setErr​(java.io.PrintStream err)
      • setSealedStdLib

        public void setSealedStdLib​(boolean value)
      • readline

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

        Usage:

         readline(prompt)
         
        Throws:
        java.io.IOException