org.mozilla.javascript

## Class NativeJavaMethod

- java.lang.Object
- - org.mozilla.javascript.ScriptableObject
  - - org.mozilla.javascript.IdScriptableObject
    - - org.mozilla.javascript.BaseFunction
      - - org.mozilla.javascript.NativeJavaMethod

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

    public class NativeJavaMethod
    extends BaseFunction

This class reflects Java methods into the JavaScript environment and handles overloading of methods.

Author:
  Mike Shaver
See Also:
  `NativeJavaArray`, `NativeJavaPackage`, `NativeJavaClass`, Serialized Form

### Property Summary

### Properties inherited from class org.mozilla.javascript.BaseFunction

`hasPrototypeProperty`

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

### Constructor Summary

Constructors
Constructor and Description
`NativeJavaMethod(java.lang.reflect.Method method, java.lang.String name)`

### Method Summary

Methods
`java.lang.Object` `call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)` Should be overridden.
`java.lang.String` `getFunctionName()`
`java.lang.String` `toString()`

### Methods inherited from class org.mozilla.javascript.BaseFunction

`construct, createObject, execIdCall, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, getArity, getClassName, getClassPrototype, getInstanceIdName, getInstanceIdValue, getLength, getMaxInstanceId, getPrototypeProperty, getTypeOf, hasInstance, hasPrototypeProperty, initPrototypeId, setImmunePrototypeProperty, setInstanceIdValue`

### Methods inherited from class org.mozilla.javascript.IdScriptableObject

`activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultPut, defineOwnProperty, delete, exportAsJSClass, get, getAttributes, getOwnPropertyDescriptor, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeMethod, initPrototypeValue, instanceIdInfo, put, setAttributes, setInstanceIdAttributes`

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

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

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

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

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

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

### Constructor Detail

#### NativeJavaMethod

    public NativeJavaMethod(java.lang.reflect.Method method,
                    java.lang.String name)

### Method Detail

#### getFunctionName

    public java.lang.String getFunctionName()

Overrides:
  `getFunctionName` in class `BaseFunction`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### call

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

Description copied from class: `BaseFunction`
Should be overridden.

Specified by:
  `call` in interface `Callable`
Specified by:
  `call` in interface `Function`
Overrides:
  `call` in class `BaseFunction`
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