Package org.mozilla.javascript.tools.shell

## Class Main

- java.lang.Object
- - org.mozilla.javascript.tools.shell.Main

-     public class Main
      extends java.lang.Object

  The shell program.

  Can execute scripts interactively or in batch mode at the command line. An example of controlling the JavaScript engine.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected static ToolErrorReporter` | `errorReporter` |
    `protected static int` | `exitCode` |
    `static Global` | `global` |
    `static ShellContextFactory` | `shellContextFactory` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Main()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static int` | `exec​(java.lang.String[] origArgs)` | Execute the given arguments, but don't System.exit at the end.
    `static java.io.PrintStream` | `getErr()` |
    `static Global` | `getGlobal()` |
    `static java.io.InputStream` | `getIn()` |
    `static java.io.PrintStream` | `getOut()` |
    `static void` | `main​(java.lang.String[] args)` | Main entry point.
    `static void` | `processFile​(Context cx, Scriptable scope, java.lang.String filename)` |
    `static void` | `processFileNoThrow​(Context cx, Scriptable scope, java.lang.String filename)` |
    `static java.lang.String[]` | `processOptions​(java.lang.String[] args)` | Parse arguments.
    `static void` | `processSource​(Context cx, java.lang.String filename)` | Evaluate JavaScript source.
    `static void` | `setErr​(java.io.PrintStream err)` |
    `static void` | `setIn​(java.io.InputStream in)` |
    `static void` | `setOut​(java.io.PrintStream out)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### shellContextFactory

          public static ShellContextFactory shellContextFactory

    - #### global

          public static Global global

    - #### errorReporter

          protected static ToolErrorReporter errorReporter

    - #### exitCode

          protected static int exitCode

  - ### Constructor Detail

    - #### Main

          public Main()

  - ### Method Detail

    - #### main

          public static void main​(java.lang.String[] args)

      Main entry point.

      Process arguments as would a normal Java program. Also create a new Context and associate it with the current thread. Then set up the execution environment and begin to execute scripts.

    - #### exec

          public static int exec​(java.lang.String[] origArgs)

      Execute the given arguments, but don't System.exit at the end.

    - #### getGlobal

          public static Global getGlobal()

    - #### processOptions

          public static java.lang.String[] processOptions​(java.lang.String[] args)

      Parse arguments.

    - #### processSource

          public static void processSource​(Context cx,
                                           java.lang.String filename)
                                    throws java.io.IOException

      Evaluate JavaScript source.
      Parameters:
        `cx` - the current context
        `filename` - the name of the file to compile, or null for interactive mode.
      Throws:
        `java.io.IOException` - if the source could not be read
        `RhinoException` - thrown during evaluation of source

    - #### processFileNoThrow

          public static void processFileNoThrow​(Context cx,
                                                Scriptable scope,
                                                java.lang.String filename)

    - #### processFile

          public static void processFile​(Context cx,
                                         Scriptable scope,
                                         java.lang.String filename)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getIn

          public static java.io.InputStream getIn()

    - #### setIn

          public static void setIn​(java.io.InputStream in)

    - #### getOut

          public static java.io.PrintStream getOut()

    - #### setOut

          public static void setOut​(java.io.PrintStream out)

    - #### getErr

          public static java.io.PrintStream getErr()

    - #### setErr

          public static void setErr​(java.io.PrintStream err)