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

    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

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
`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, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, equivalentValues, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, hasInstance, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, 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`