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 class
JavaMembers.MethodSignature
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class<?>
cl
(package private) NativeJavaMethod
ctors
private java.util.Map<java.lang.String,FieldAndMethods>
fieldAndMethods
private java.util.Map<java.lang.String,java.lang.Object>
members
private java.util.Map<java.lang.String,FieldAndMethods>
staticFieldAndMethods
private 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 void
discoverAccessibleMethods(java.lang.Class<?> clazz, java.util.Map<JavaMembers.MethodSignature,java.lang.reflect.Method> map, boolean includeProtected, boolean includePrivate)
private static MemberBox
extractGetMethod(MemberBox[] methods, boolean isStatic)
private static MemberBox
extractSetMethod(java.lang.Class<?> type, MemberBox[] methods, boolean isStatic)
private static MemberBox
extractSetMethod(MemberBox[] methods, boolean isStatic)
private MemberBox
findExplicitFunction(java.lang.String name, boolean isStatic)
private static MemberBox
findGetter(boolean isStatic, java.util.Map<java.lang.String,java.lang.Object> ht, java.lang.String prefix, java.lang.String propertyName)
(package private) java.lang.Object
get(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.Object
getExplicitFunction(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) boolean
has(java.lang.String name, boolean isStatic)
(package private) static java.lang.String
javaSignature(java.lang.Class<?> type)
(package private) static java.lang.String
liveConnectSignature(java.lang.Class<?>[] argTypes)
(package private) static JavaMembers
lookupClass(Scriptable scope, java.lang.Class<?> dynamicType, java.lang.Class<?> staticType, boolean includeProtected)
(package private) void
put(Scriptable scope, java.lang.String name, java.lang.Object javaObject, java.lang.Object value, boolean isStatic)
private void
reflect(Scriptable scope, boolean includeProtected, boolean includePrivate)
(package private) java.lang.RuntimeException
reportMemberNotFound(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)
-
-