# Deprecated API

## Contents

- Interfaces
- Exceptions
- Fields
- Methods
- Constructors

- Interfaces
  Interface | Description
  --- | ---
  org.mozilla.javascript.ContextListener | Embeddings that wish to customize newly created `Context` instances should implement `ContextFactory.Listener`.

- Exceptions
  Exceptions | Description
  --- | ---
  org.mozilla.javascript.ClassDefinitionException | The exception is no longer thrown by Rhino runtime as `EvaluatorException` is used instead.
  org.mozilla.javascript.NotAFunctionException | The exception is no longer thrown by Rhino runtime as `EvaluatorException` is used instead.
  org.mozilla.javascript.PropertyException | This exception is no longer thrown by Rhino runtime.

- Fields
  Field | Description
  --- | ---
  org.mozilla.javascript.Context.FEATURE_PARENT_PROTO_PROPRTIES | In previous releases, this name was given to FEATURE_PARENT_PROTO_PROPERTIES.

- Methods
  Method | Description
  --- | ---
  org.mozilla.javascript.ClassCache.isInvokerOptimizationEnabled() | The method always returns false.
  org.mozilla.javascript.ClassCache.setInvokerOptimizationEnabled​(boolean) | The method does nothing. Invoker optimization is no longer used by Rhino. On modern JDK like 1.4 or 1.5 the disadvantages of the optimization like increased memory usage or longer initialization time overweight small speed increase that can be gained using generated proxy class to replace reflection.
  org.mozilla.javascript.Context.addContextListener​(ContextListener) |
  org.mozilla.javascript.Context.call​(ContextAction) | use `ContextFactory.call(ContextAction)` instead as this method relies on usage of a static singleton "global" ContextFactory.
  org.mozilla.javascript.Context.compileReader​(Scriptable, Reader, String, int, Object) |
  org.mozilla.javascript.Context.enter​(Context) | use `ContextFactory.enterContext(Context)` instead as this method relies on usage of a static singleton "global" ContextFactory.
  org.mozilla.javascript.Context.removeContextListener​(ContextListener) |
  org.mozilla.javascript.Context.setCachingEnabled​(boolean) |
  org.mozilla.javascript.Context.toObject​(Object, Scriptable, Class<?>) |
  org.mozilla.javascript.Context.toType​(Object, Class<?>) |
  org.mozilla.javascript.ContextFactory.enter() | use `ContextFactory.enterContext()` instead
  org.mozilla.javascript.ContextFactory.exit() | Use `Context.exit()` instead.
  org.mozilla.javascript.ContextListener.contextEntered​(Context) | Rhino runtime never calls the method.
  org.mozilla.javascript.ContextListener.contextExited​(Context) | Rhino runtime never calls the method.
  org.mozilla.javascript.EcmaError.getColumnNumber() | Use `RhinoException.columnNumber()` from the super class.
  org.mozilla.javascript.EcmaError.getErrorObject() | Always returns null.
  org.mozilla.javascript.EcmaError.getLineNumber() | Use `RhinoException.lineNumber()` from the super class.
  org.mozilla.javascript.EcmaError.getLineSource() | Use `RhinoException.lineSource()` from the super class.
  org.mozilla.javascript.EcmaError.getSourceName() | Use `RhinoException.sourceName()` from the super class.
  org.mozilla.javascript.EvaluatorException.getColumnNumber() | Use `RhinoException.columnNumber()` from the super class.
  org.mozilla.javascript.EvaluatorException.getLineNumber() | Use `RhinoException.lineNumber()` from the super class.
  org.mozilla.javascript.EvaluatorException.getLineSource() | Use `RhinoException.lineSource()` from the super class.
  org.mozilla.javascript.EvaluatorException.getSourceName() | Use `RhinoException.sourceName()` from the super class.
  org.mozilla.javascript.FunctionObject.convertArg​(Context, Scriptable, Object, Class<?>) | Use `FunctionObject.getTypeTag(Class)` and `FunctionObject.convertArg(Context, Scriptable, Object, int)` for type conversion.
  org.mozilla.javascript.ImporterTopLevel.importPackage​(Context, Scriptable, Object[], Function) | Kept only for compatibility.
  org.mozilla.javascript.JavaScriptException.getLineNumber() | Use `RhinoException.lineNumber()` from the super class.
  org.mozilla.javascript.JavaScriptException.getSourceName() | Use `RhinoException.sourceName()` from the super class.
  org.mozilla.javascript.NativeArray.jsGet_length() | Use `NativeArray.getLength()` instead.
  org.mozilla.javascript.NativeFunction.jsGet_name() | Use `BaseFunction.getFunctionName()` instead. For backwards compatibility keep an old method name used by Batik and possibly others.
  org.mozilla.javascript.NativeGlobal.constructError​(Context, String, String, Scriptable) | Use `ScriptRuntime.constructError(String,String)` instead.
  org.mozilla.javascript.NativeJavaObject.coerceType​(Class<?>, Object) | as of 1.5 Release 4
  org.mozilla.javascript.NativeJavaObject.wrap​(Scriptable, Object, Class<?>) | Use `Context.getWrapFactory()` together with calling `WrapFactory.wrap(Context, Scriptable, Object, Class)`
  org.mozilla.javascript.optimizer.OptRuntime.elemIncrDecr​(Object, double, Context, int) | Use `OptRuntime.elemIncrDecr(Object, double, Context, Scriptable, int)` instead
  org.mozilla.javascript.Ref.set​(Context, Object) | Use `Ref.set(Context, Scriptable, Object)` instead
  org.mozilla.javascript.RhinoException.getScriptStackTrace​(FilenameFilter) | the filter argument is ignored as we are able to recognize script stack elements by our own. Use #getScriptStackTrace() instead.
  org.mozilla.javascript.ScriptableObject.getAttributes​(String, Scriptable) | Use `ScriptableObject.getAttributes(String name)`. The engine always ignored the start argument.
  org.mozilla.javascript.ScriptableObject.setAttributes​(String, Scriptable, int) | Use `ScriptableObject.setAttributes(String name, int attributes)`. The engine always ignored the start argument.
  org.mozilla.javascript.ScriptRuntime.call​(Context, Object, Object, Object[], Scriptable) | The method is only present for compatibility.
  org.mozilla.javascript.ScriptRuntime.createFunctionActivation​(NativeFunction, Scriptable, Object[]) | Use `ScriptRuntime.createFunctionActivation(NativeFunction, Scriptable, Object[], boolean)` instead
  org.mozilla.javascript.ScriptRuntime.delete​(Object, Object, Context) | Use `ScriptRuntime.delete(Object, Object, Context, Scriptable, boolean)` instead
  org.mozilla.javascript.ScriptRuntime.doTopCall​(Callable, Context, Scriptable, Scriptable, Object[]) | Use `ScriptRuntime.doTopCall(Callable, Context, Scriptable, Scriptable, Object[], boolean)` instead
  org.mozilla.javascript.ScriptRuntime.elemIncrDecr​(Object, Object, Context, int) | Use `ScriptRuntime.elemIncrDecr(Object, Object, Context, Scriptable, int)` instead
  org.mozilla.javascript.ScriptRuntime.enumInit​(Object, Context, boolean) | Use `ScriptRuntime.enumInit(Object, Context, Scriptable, int)` instead
  org.mozilla.javascript.ScriptRuntime.getElemFunctionAndThis​(Object, Object, Context) | Use `ScriptRuntime.getElemFunctionAndThis(Object, Object, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.getObjectElem​(Object, Object, Context) | Use `ScriptRuntime.getObjectElem(Object, Object, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.getObjectIndex​(Object, double, Context) | Use `ScriptRuntime.getObjectIndex(Object, double, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.getObjectProp​(Object, String, Context) | Use `ScriptRuntime.getObjectProp(Object, String, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.getObjectPropNoWarn​(Object, String, Context) | Use `ScriptRuntime.getObjectPropNoWarn(Object, String, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis​(Object, String, Context) | Use `ScriptRuntime.getPropFunctionAndThis(Object, String, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.nameIncrDecr​(Scriptable, String, int) | Use `ScriptRuntime.nameIncrDecr(Scriptable, String, Context, int)` instead
  org.mozilla.javascript.ScriptRuntime.newObjectLiteral​(Object[], Object[], Context, Scriptable) | Use `ScriptRuntime.newObjectLiteral(Object[], Object[], int[], Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.propIncrDecr​(Object, String, Context, int) | Use `ScriptRuntime.propIncrDecr(Object, String, Context, Scriptable, int)` instead
  org.mozilla.javascript.ScriptRuntime.refIncrDecr​(Ref, Context, int) | Use `ScriptRuntime.refIncrDecr(Ref, Context, Scriptable, int)` instead
  org.mozilla.javascript.ScriptRuntime.refSet​(Ref, Object, Context) | Use `ScriptRuntime.refSet(Ref, Object, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.setObjectElem​(Object, Object, Object, Context) | Use `ScriptRuntime.setObjectElem(Object, Object, Object, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.setObjectIndex​(Object, double, Object, Context) | Use `ScriptRuntime.setObjectIndex(Object, double, Object, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.setObjectProp​(Object, String, Object, Context) | Use `ScriptRuntime.setObjectProp(Object, String, Object, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.specialRef​(Object, String, Context) | Use `ScriptRuntime.specialRef(Object, String, Context, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.toObject​(Scriptable, Object, Class<?>) | Use `ScriptRuntime.toObject(Scriptable, Object)` instead.
  org.mozilla.javascript.ScriptRuntime.toObjectOrNull​(Context, Object) | Use `ScriptRuntime.toObjectOrNull(Context, Object, Scriptable)` instead
  org.mozilla.javascript.ScriptRuntime.typeErrorThrower() | `ScriptRuntime.typeErrorThrower(Context)`
  org.mozilla.javascript.SecurityController.execWithDomain​(Context, Scriptable, Script, Object) | The application should not override this method and instead override `SecurityController.callWithDomain(Object securityDomain, Context cx, Callable callable, Scriptable scope, Scriptable thisObj, Object[] args)`.
  org.mozilla.javascript.WrappedException.unwrap() | Use `WrappedException.getWrappedException()` instead.

- Constructors
  Constructor | Description
  --- | ---
  org.mozilla.javascript.Context() | this constructor is deprecated because it creates a dependency on a static singleton context factory. Use `ContextFactory.enter()` or `ContextFactory.call(ContextAction)` instead. If you subclass this class, consider using `Context(ContextFactory)` constructor instead in the subclasses' constructors.
  org.mozilla.javascript.EcmaError​(Scriptable, String, int, int, String) | EcmaError error instances should not be constructed explicitly since they are generated by the engine.
  org.mozilla.javascript.JavaScriptException​(Object) | Use `WrappedException(Throwable)` to report exceptions in Java code.
  org.mozilla.javascript.NativeJavaPackage​(String, ClassLoader) | NativeJavaPackage is an internal class, do not use it directly.