| Interface | Description | 
|---|---|
| Callable | Generic notion of callable object that can execute some script-related code
 upon request with specified values for script scope and this objects. | 
| ClassShutter | Embeddings that wish to filter Java classes that are visible to scripts
through the LiveConnect, should implement this interface. | 
| ConstProperties | |
| Context.ClassShutterSetter | |
| ContextAction | Interface to represent arbitrary action that requires to have Context
 object associated with the current thread for its execution. | 
| ContextFactory.GlobalSetter | |
| ContextFactory.Listener | Listener of  Contextcreation and release events. | 
| ContextListener | Deprecated Embeddings that wish to customize newly created
  Contextinstances should implementContextFactory.Listener. | 
| ErrorReporter | This is interface defines a protocol for the reporting of
 errors during JavaScript translation or execution. | 
| Evaluator | Abstraction of evaluation, which can be implemented either by an
 interpreter or compiler. | 
| ExternalArrayData | Implement this interface in order to allow external data to be attached to a ScriptableObject. | 
| Function | This is interface that all functions in JavaScript must implement. | 
| GeneratedClassLoader | Interface to define classes from generated byte code. | 
| IdFunctionCall | Master for id-based functions that knows their properties and how to
 execute them. | 
| RefCallable | Object that can allows assignments to the result of function calls. | 
| RegExpProxy | A proxy for the regexp package, so that the regexp package can be
 loaded optionally. | 
| Script | All compiled scripts implement this interface. | 
| Scriptable | This is interface that all objects in JavaScript must implement. | 
| ScriptRuntime.MessageProvider | This is an interface defining a message provider. | 
| Symbol | A Symbol is a JavaScript objecy that obeys the special properties of the
 Symbol prototype. | 
| SymbolScriptable | This interface may be combined with any object that implements Scriptable
 to add support for properties keyed by Symbol objects (as opposed to
 String and number objects as in previous versions of JavaScript. | 
| Wrapper | Objects that can wrap other values for reflection in the JS environment
 will implement Wrapper. | 
| Class | Description | 
|---|---|
| ArrowFunction | The class for  Arrow Function Definitions
 EcmaScript 6 Rev 14, March 8, 2013 Draft spec , 13.2 | 
| BaseFunction | The base class for Function objects
 See ECMA 15.3. | 
| BoundFunction | The class for results of the Function.bind operation
 EcmaScript 5 spec, 15.3.4.5 | 
| ClassCache | Cache of generated classes and data structures to access Java runtime
 from JavaScript. | 
| CompilerEnvirons | |
| ConsString | This class represents a string composed of two components, each of which
 may be a  java.lang.Stringor another ConsString. | 
| Context | This class represents the runtime context of an executing script. | 
| ContextFactory | Factory class that Rhino runtime uses to create new  Contextinstances. | 
| Decompiler | The following class save decompilation information about the source. | 
| DefiningClassLoader | Load generated classes. | 
| Delegator | This is a helper class for implementing wrappers around Scriptable
 objects. | 
| ES6Iterator | |
| FunctionObject | |
| IdFunctionObject | |
| IdFunctionObjectES6 | |
| IdScriptableObject | Base class for native object implementation that uses IdFunctionObject to export its methods to script via  | 
| ImporterTopLevel | Class ImporterTopLevel
 This class defines a ScriptableObject that can be instantiated
 as a top-level ("global") object to provide functionality similar
 to Java's "import" statement. | 
| InterfaceAdapter | Adapter to use JS function as implementation of Java interfaces with
 single method or multiple methods with the same signature. | 
| Interpreter | |
| IRFactory | This class rewrites the parse tree into an IR suitable for codegen. | 
| JavaAdapter | |
| Kit | Collection of utilities | 
| LazilyLoadedCtor | Avoid loading classes unless they are used. | 
| NativeArray | This class implements the Array native object. | 
| NativeArray.ElementComparator | |
| NativeArray.StringLikeComparator | |
| NativeArrayIterator | |
| NativeCall | This class implements the activation object. | 
| NativeCallSite | This class is used by the V8 extension "Error.prepareStackTrace." It is passed to
 that function, which may then use it to format the stack as it sees fit. | 
| NativeContinuation | |
| NativeFunction | This class implements the Function native object. | 
| NativeGenerator | This class implements generator objects. | 
| NativeGlobal | This class implements the global native object (function and value
 properties only). | 
| NativeIterator | This class implements iterator objects. | 
| NativeIterator.WrappedJavaIterator | |
| NativeJavaArray | This class reflects Java arrays into the JavaScript environment. | 
| NativeJavaClass | This class reflects Java classes into the JavaScript environment, mainly
 for constructors and static members. | 
| NativeJavaConstructor | This class reflects a single Java constructor into the JavaScript
 environment. | 
| NativeJavaMethod | This class reflects Java methods into the JavaScript environment and
 handles overloading of methods. | 
| NativeJavaObject | This class reflects non-Array Java objects into the JavaScript environment. | 
| NativeJavaPackage | This class reflects Java packages into the JavaScript environment. | 
| NativeJavaTopPackage | This class reflects Java packages into the JavaScript environment. | 
| NativeJSON | This class implements the JSON native object. | 
| NativeObject | This class implements the Object native object. | 
| NativeStringIterator | |
| NativeSymbol | This is an implementation of the standard "Symbol" type that implements
 all of its weird properties. | 
| NativeWith | This class implements the object lookup required for the
  withstatement. | 
| Node | This class implements the root of the intermediate representation. | 
| NodeTransformer | This class transforms a tree to a lower-level representation for codegen. | 
| ObjArray | Implementation of resizable array with focus on minimizing memory usage by storing few initial array elements in object fields. | 
| ObjToIntMap | Map to associate objects to integers. | 
| ObjToIntMap.Iterator | |
| Parser | This class implements the JavaScript parser. | 
| PolicySecurityController | A security controller relying on Java  Policyin effect. | 
| PolicySecurityController.SecureCaller | |
| Ref | Generic notion of reference object that know how to query/modify the
 target objects based on some property/index. | 
| RhinoSecurityManager | A  java.lang.SecurityManagersubclass that provides access to
 the current top-most script class on the execution stack. | 
| ScriptableObject | This is the default implementation of the Scriptable interface. | 
| ScriptableObject.KeyComparator | This comparator sorts property fields in spec-compliant order. | 
| ScriptRuntime | This is the class that implements the runtime. | 
| ScriptRuntimeES6 | |
| ScriptStackElement | This class represents an element on the script execution stack. | 
| SecureCaller | |
| SecurityController | This class describes the support needed to implement security. | 
| SecurityUtilities | |
| Sorting | |
| SymbolKey | A SymbolKey is one of the implementations of Symbol. | 
| Synchronizer | This class provides support for implementing Java-style synchronized
 methods in Javascript. | 
| Token | This class implements the JavaScript scanner. | 
| TopLevel | A top-level scope object that provides special means to cache and preserve
 the initial values of the built-in constructor properties for better
 ECMAScript compliance. | 
| UintMap | Map to associate non-negative integers to objects or integers. | 
| Undefined | This class implements the Undefined value in JavaScript. | 
| UniqueTag | Class instances represent serializable tags to mark special Object values. | 
| VMBridge | |
| WrapFactory | Embeddings that wish to provide their own custom wrappings for Java
 objects may extend this class and call
  Context.setWrapFactory(WrapFactory)Once an instance of this class or an extension of this class is enabled
 for a given context (by calling setWrapFactory on that context), Rhino
 will call the methods of this class whenever it needs to wrap a value
 resulting from a call to a Java method or an access to a Java field. | 
| Enum | Description | 
|---|---|
| StackStyle | This class distinguishes between the three different supported stack trace formats. | 
| Token.CommentType | |
| TopLevel.Builtins | An enumeration of built-in ECMAScript objects. | 
| Exception | Description | 
|---|---|
| ContinuationPending | Exception thrown by
  Context.executeScriptWithContinuations(Script, Scriptable)andContext.callFunctionWithContinuations(Callable, Scriptable, Object[])when execution encounters a continuation captured byContext.captureContinuation(). | 
| EcmaError | The class of exceptions raised by the engine as described in
 ECMA edition 3. | 
| EvaluatorException | The class of exceptions thrown by the JavaScript engine. | 
| JavaScriptException | Java reflection of JavaScript exceptions. | 
| NativeGenerator.GeneratorClosedException | |
| RhinoException | The class of exceptions thrown by the JavaScript engine. | 
| WrappedException | A wrapper for runtime exceptions. |