org.mozilla.javascript

Class NativeJavaClass

Implemented Interfaces:
Callable, Function, Scriptable, Serializable, Wrapper

public class NativeJavaClass
extends NativeJavaObject
implements Function

This class reflects Java classes into the JavaScript environment, mainly for constructors and static members. We lazily reflect properties, and currently do not guarantee that a single j.l.Class is only reflected once into the JS environment, although we should. The only known case where multiple reflections are possible occurs when a j.l.Class is wrapped as part of a method return or property access, rather than by walking the Packages/java tree.
Author:
Mike Shaver
See Also:
NativeJavaArray, NativeJavaObject, NativeJavaPackage

Field Summary

Fields inherited from class org.mozilla.javascript.NativeJavaObject

javaObject, members, parent, prototype, staticType

Fields inherited from interface org.mozilla.javascript.Scriptable

NOT_FOUND

Constructor Summary

NativeJavaClass()
NativeJavaClass(Scriptable scope, Class cl)

Method Summary

@Override
Object get(String name, Scriptable start)
@Override
Object getDefaultValue(Class hint)
@Override
Object[] getIds()
@Override
String getClassName()
@Override
String toString()
@Override
boolean has(String name, Scriptable start)
@Override
boolean hasInstance(Scriptable value)
Determines if prototype is a wrapped Java object and performs a Java "instanceof".
Object
call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
Scriptable
construct(Context cx, Scriptable scope, Object[] args)
Class
getClassObject()
protected @Override
void initMembers()
@Override
void put(String name, Scriptable start, Object value)

Methods inherited from class org.mozilla.javascript.NativeJavaObject

canConvert, coerceType, delete, delete, get, get, getClassName, getDefaultValue, getIds, getParentScope, getPrototype, has, has, hasInstance, initMembers, put, put, setParentScope, setPrototype, unwrap, wrap

Constructor Details

NativeJavaClass

public NativeJavaClass()

NativeJavaClass

public NativeJavaClass(Scriptable scope,
                       Class cl)

Method Details

Object get

public @Override Object get(String name,
                            Scriptable start)

Object getDefaultValue

public @Override Object getDefaultValue(Class hint)

Object[] getIds

public @Override Object[] getIds()

String getClassName

public @Override String getClassName()

String toString

public @Override String toString()

boolean has

public @Override boolean has(String name,
                             Scriptable start)

boolean hasInstance

public @Override boolean hasInstance(Scriptable value)
Determines if prototype is a wrapped Java object and performs a Java "instanceof". Exception: if value is an instance of NativeJavaClass, it isn't considered an instance of the Java class; this forestalls any name conflicts between java.lang.Class's methods and the static methods exposed by a JavaNativeClass.

call

public Object call(Context cx,
                   Scriptable scope,
                   Scriptable thisObj,
                   Object[] args)
Specified by:
call in interface Function
call in interface Callable

construct

public Scriptable construct(Context cx,
                            Scriptable scope,
                            Object[] args)
Specified by:
construct in interface Function

getClassObject

public Class getClassObject()

void initMembers

protected @Override void initMembers()

void put

public @Override void put(String name,
                          Scriptable start,
                          Object value)