Package org.mozilla.javascript
Class JavaMembers
- java.lang.Object
-
- org.mozilla.javascript.JavaMembers
-
class JavaMembers extends java.lang.Object- See Also:
NativeJavaObject,NativeJavaClass
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classJavaMembers.MethodSignature
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class<?>cl(package private) NativeJavaMethodctorsprivate java.util.Map<java.lang.String,FieldAndMethods>fieldAndMethodsprivate java.util.Map<java.lang.String,java.lang.Object>membersprivate java.util.Map<java.lang.String,FieldAndMethods>staticFieldAndMethodsprivate java.util.Map<java.lang.String,java.lang.Object>staticMembers
-
Constructor Summary
Constructors Constructor Description JavaMembers(Scriptable scope, java.lang.Class<?> cl)JavaMembers(Scriptable scope, java.lang.Class<?> cl, boolean includeProtected)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.reflect.Method[]discoverAccessibleMethods(java.lang.Class<?> clazz, boolean includeProtected, boolean includePrivate)Retrieves mapping of methods to accessible methods for a class.private static voiddiscoverAccessibleMethods(java.lang.Class<?> clazz, java.util.Map<JavaMembers.MethodSignature,java.lang.reflect.Method> map, boolean includeProtected, boolean includePrivate)private static MemberBoxextractGetMethod(MemberBox[] methods, boolean isStatic)private static MemberBoxextractSetMethod(java.lang.Class<?> type, MemberBox[] methods, boolean isStatic)private static MemberBoxextractSetMethod(MemberBox[] methods, boolean isStatic)private MemberBoxfindExplicitFunction(java.lang.String name, boolean isStatic)private static MemberBoxfindGetter(boolean isStatic, java.util.Map<java.lang.String,java.lang.Object> ht, java.lang.String prefix, java.lang.String propertyName)(package private) java.lang.Objectget(Scriptable scope, java.lang.String name, java.lang.Object javaObject, boolean isStatic)private java.lang.reflect.Constructor<?>[]getAccessibleConstructors(boolean includePrivate)private java.lang.reflect.Field[]getAccessibleFields(boolean includeProtected, boolean includePrivate)private java.lang.ObjectgetExplicitFunction(Scriptable scope, java.lang.String name, java.lang.Object javaObject, boolean isStatic)(package private) java.util.Map<java.lang.String,FieldAndMethods>getFieldAndMethodsObjects(Scriptable scope, java.lang.Object javaObject, boolean isStatic)(package private) java.lang.Object[]getIds(boolean isStatic)(package private) booleanhas(java.lang.String name, boolean isStatic)(package private) static java.lang.StringjavaSignature(java.lang.Class<?> type)(package private) static java.lang.StringliveConnectSignature(java.lang.Class<?>[] argTypes)(package private) static JavaMemberslookupClass(Scriptable scope, java.lang.Class<?> dynamicType, java.lang.Class<?> staticType, boolean includeProtected)(package private) voidput(Scriptable scope, java.lang.String name, java.lang.Object javaObject, java.lang.Object value, boolean isStatic)private voidreflect(Scriptable scope, boolean includeProtected, boolean includePrivate)(package private) java.lang.RuntimeExceptionreportMemberNotFound(java.lang.String memberName)
-
-
-
Field Detail
-
cl
private java.lang.Class<?> cl
-
members
private java.util.Map<java.lang.String,java.lang.Object> members
-
fieldAndMethods
private java.util.Map<java.lang.String,FieldAndMethods> fieldAndMethods
-
staticMembers
private java.util.Map<java.lang.String,java.lang.Object> staticMembers
-
staticFieldAndMethods
private java.util.Map<java.lang.String,FieldAndMethods> staticFieldAndMethods
-
ctors
NativeJavaMethod ctors
-
-
Constructor Detail
-
JavaMembers
JavaMembers(Scriptable scope, java.lang.Class<?> cl)
-
JavaMembers
JavaMembers(Scriptable scope, java.lang.Class<?> cl, boolean includeProtected)
-
-
Method Detail
-
has
boolean has(java.lang.String name, boolean isStatic)
-
get
java.lang.Object get(Scriptable scope, java.lang.String name, java.lang.Object javaObject, boolean isStatic)
-
put
void put(Scriptable scope, java.lang.String name, java.lang.Object javaObject, java.lang.Object value, boolean isStatic)
-
getIds
java.lang.Object[] getIds(boolean isStatic)
-
javaSignature
static java.lang.String javaSignature(java.lang.Class<?> type)
-
liveConnectSignature
static java.lang.String liveConnectSignature(java.lang.Class<?>[] argTypes)
-
findExplicitFunction
private MemberBox findExplicitFunction(java.lang.String name, boolean isStatic)
-
getExplicitFunction
private java.lang.Object getExplicitFunction(Scriptable scope, java.lang.String name, java.lang.Object javaObject, boolean isStatic)
-
discoverAccessibleMethods
private static java.lang.reflect.Method[] discoverAccessibleMethods(java.lang.Class<?> clazz, boolean includeProtected, boolean includePrivate)Retrieves mapping of methods to accessible methods for a class. In case the class is not public, retrieves methods with same signature as its public methods from public superclasses and interfaces (if they exist). Basically upcasts every method to the nearest accessible method.
-
discoverAccessibleMethods
private static void discoverAccessibleMethods(java.lang.Class<?> clazz, java.util.Map<JavaMembers.MethodSignature,java.lang.reflect.Method> map, boolean includeProtected, boolean includePrivate)
-
reflect
private void reflect(Scriptable scope, boolean includeProtected, boolean includePrivate)
-
getAccessibleConstructors
private java.lang.reflect.Constructor<?>[] getAccessibleConstructors(boolean includePrivate)
-
getAccessibleFields
private java.lang.reflect.Field[] getAccessibleFields(boolean includeProtected, boolean includePrivate)
-
findGetter
private static MemberBox findGetter(boolean isStatic, java.util.Map<java.lang.String,java.lang.Object> ht, java.lang.String prefix, java.lang.String propertyName)
-
extractSetMethod
private static MemberBox extractSetMethod(java.lang.Class<?> type, MemberBox[] methods, boolean isStatic)
-
getFieldAndMethodsObjects
java.util.Map<java.lang.String,FieldAndMethods> getFieldAndMethodsObjects(Scriptable scope, java.lang.Object javaObject, boolean isStatic)
-
lookupClass
static JavaMembers lookupClass(Scriptable scope, java.lang.Class<?> dynamicType, java.lang.Class<?> staticType, boolean includeProtected)
-
reportMemberNotFound
java.lang.RuntimeException reportMemberNotFound(java.lang.String memberName)
-
-