Package org.mozilla.javascript

## Class NativeJavaTopPackage

- java.lang.Object
- - org.mozilla.javascript.ScriptableObject
  - - org.mozilla.javascript.NativeJavaPackage
    - - org.mozilla.javascript.NativeJavaTopPackage

- All Implemented Interfaces:
    `java.io.Serializable`, `Callable`, `ConstProperties`, `DebuggableObject`, `Function`, `IdFunctionCall`, `Scriptable`, `SymbolScriptable`

      public class NativeJavaTopPackage
      extends NativeJavaPackage
      implements Function, IdFunctionCall

  This class reflects Java packages into the JavaScript environment. We lazily reflect classes and subpackages, and use a caching/sharing system to ensure that members reflected into one JavaPackage appear in all other references to the same package (as with Packages.java.lang and java.lang).
  Author:
    Mike Shaver
  See Also:
    `NativeJavaArray`, `NativeJavaObject`, `NativeJavaClass`, Serialized Form

- - ### Nested Class Summary

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

      `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`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `call​(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)` | Call the function.
    `Scriptable` | `construct​(Context cx, Scriptable scope, java.lang.Object[] args)` | Call the function as a constructor.
    `java.lang.Object` | `execIdCall​(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)` | 'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned
    `static void` | `init​(Context cx, Scriptable scope, boolean sealed)` |

    - ### Methods inherited from class org.mozilla.javascript.NativeJavaPackage

      `equals, get, get, getClassName, getDefaultValue, has, has, hashCode, put, put, toString`

    - ### Methods inherited from class org.mozilla.javascript.ScriptableObject

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

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.mozilla.javascript.Scriptable

      `delete, delete, get, get, getClassName, getDefaultValue, getIds, getParentScope, getPrototype, has, has, hasInstance, put, put, setParentScope, setPrototype`

- - ### Method Detail

    - #### call

          public java.lang.Object call​(Context cx,
                                       Scriptable scope,
                                       Scriptable thisObj,
                                       java.lang.Object[] args)

      Description copied from interface: `Function`
      Call the function. Note that the array of arguments is not guaranteed to have length greater than 0.
      Specified by:
        `call` in interface `Callable`
      Specified by:
        `call` in interface `Function`
      Parameters:
        `cx` - the current Context for this thread
        `scope` - the scope to execute the function relative to. This is set to the value returned by getParentScope() except when the function is called from a closure.
        `thisObj` - the JavaScript `this` object
        `args` - the array of arguments
      Returns:
        the result of the call

    - #### construct

          public Scriptable construct​(Context cx,
                                      Scriptable scope,
                                      java.lang.Object[] args)

      Description copied from interface: `Function`
      Call the function as a constructor. This method is invoked by the runtime in order to satisfy a use of the JavaScript `new` operator. This method is expected to create a new object and return it.
      Specified by:
        `construct` in interface `Function`
      Parameters:
        `cx` - the current Context for this thread
        `scope` - an enclosing scope of the caller except when the function is called from a closure.
        `args` - the array of arguments
      Returns:
        the allocated object

    - #### init

          public static void init​(Context cx,
                                  Scriptable scope,
                                  boolean sealed)

    - #### execIdCall

          public java.lang.Object execIdCall​(IdFunctionObject f,
                                             Context cx,
                                             Scriptable scope,
                                             Scriptable thisObj,
                                             java.lang.Object[] args)

      Description copied from interface: `IdFunctionCall`
      'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned
      Specified by:
        `execIdCall` in interface `IdFunctionCall`