public class ClassReflect
extends java.lang.Object
| 构造器和说明 |
|---|
ClassReflect() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.Object |
execInAppContext(AppContext appContext,
ExecCallback callback)
以app的类加载器为线程上下文类加载器,执行回调函数
|
static java.lang.Class<?> |
forName(java.lang.String className,
java.lang.String appId)
在appId范围内查找类对象
|
static AppContext |
getAppContext(java.lang.Class<?> c)
根据类c获得自己所在的app上下文。
|
static java.lang.reflect.Constructor |
getConstructor(java.lang.String className,
java.lang.Class[] parameterTypes)
从AWS主ClassLoader(所有app应用的父ClassLoader)构造一个类的 Constructor对象,它反映此
Class对象所表示的类的指定公共构造方法
|
static java.lang.reflect.Constructor |
getConstructor(java.lang.String className,
java.lang.Class[] parameterTypes,
AppContext appContext)
从指定的app应用对象构造一个类的 Constructor对象,它反映此 Class对象所表示的类的指定公共构造方法
|
static java.lang.reflect.Constructor |
getConstructor(java.lang.String className,
java.lang.Class[] parameterTypes,
java.lang.String appId)
从指定的appId构造一个类的 Constructor对象,它反映此 Class对象所表示的类的指定公共构造方法
|
static java.lang.Object |
getInstance(java.lang.String className,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] initargs)
从AWS主ClassLoader(所有app应用的父ClassLoader)声明类的新实例,并用指定的初始化参数初始化该实例
|
static java.lang.Object |
getInstance(java.lang.String className,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] initargs,
AppContext appContext)
从指定的app对象声明类的新实例,并用指定的初始化参数初始化该实例。
|
static java.lang.Object |
getInstance(java.lang.String className,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] initargs,
java.lang.String appId)
从指定的appId声明类的新实例,并用指定的初始化参数初始化该实例。
|
static java.net.URL |
getResource(java.lang.Class<?> c)
获得类文件对应的路径URL,参考:Class.getResource
|
public static java.net.URL getResource(java.lang.Class<?> c)
public static java.lang.Object execInAppContext(AppContext appContext, ExecCallback callback)
public static java.lang.Class<?> forName(java.lang.String className,
java.lang.String appId)
throws java.lang.ClassNotFoundException
className - - 类路径appId - - AWS AppIdjava.lang.ClassNotFoundExceptionpublic static java.lang.Object getInstance(java.lang.String className,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] initargs)
throws java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException,
java.lang.SecurityException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
className - 类名称,该类被AWS主ClassLoader加载,构造的对象是平台层Class资源parameterTypes - 匹配的公共构造方法的 Constructor参数对象数组initargs - 将作为变量传递给构造方法调用的对象数组java.lang.ClassNotFoundException - 类未发现java.lang.NoSuchMethodException - 找不到匹配的方法java.lang.SecurityException - 如果存在安全管理器 s,并满足下列任一条件:调用
s.checkMemberAccess(this, Member.PUBLIC)
拒绝访问构造方法;调用者的类加载器不同于也不是当前类的类加载器的一个祖先,并且对
s.checkPackageAccess() 的调用拒绝访问该类的包java.lang.IllegalArgumentException - 如果实参和形参的数量不同;如果基本参数的解包转换失败;如果在可能的解包后,无法通过方法调用转换将参数值转换为相应的形参类型
;如果此构造方法属于枚举类型。java.lang.reflect.InvocationTargetException - 如果底层构造方法抛出异常java.lang.InstantiationException - 如果声明底层构造方法的类表示抽象类java.lang.IllegalAccessException - 如果此 Constructor 对象实施 Java
语言访问控制并且底层构造方法是不可访问的public static java.lang.Object getInstance(java.lang.String className,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] initargs,
java.lang.String appId)
throws java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException,
java.lang.SecurityException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
className - 类名称,该类被app的ClassLoader加载,如果该app没有classLoader,从AWS主ClassLoader寻找parameterTypes - 匹配的公共构造方法的 Constructor参数对象数组initargs - 将作为变量传递给构造方法调用的对象数组appId - 应用Idjava.lang.ClassNotFoundException - 类未发现java.lang.NoSuchMethodException - 找不到匹配的方法java.lang.SecurityException - 如果存在安全管理器 s,并满足下列任一条件:调用
s.checkMemberAccess(this, Member.PUBLIC)
拒绝访问构造方法;调用者的类加载器不同于也不是当前类的类加载器的一个祖先,并且对
s.checkPackageAccess() 的调用拒绝访问该类的包java.lang.IllegalArgumentException - 如果实参和形参的数量不同;如果基本参数的解包转换失败;如果在可能的解包后,无法通过方法调用转换将参数值转换为相应的形参类型
;如果此构造方法属于枚举类型。java.lang.reflect.InvocationTargetException - 如果底层构造方法抛出异常java.lang.InstantiationException - 如果声明底层构造方法的类表示抽象类java.lang.IllegalAccessException - 如果此 Constructor 对象实施 Java
语言访问控制并且底层构造方法是不可访问的public static java.lang.Object getInstance(java.lang.String className,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] initargs,
AppContext appContext)
throws java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException,
java.lang.SecurityException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
className - 类名称,该类被app的ClassLoader加载,如果该app没有ClassLoader,从AWS主ClassLoader寻找parameterTypes - 匹配的公共构造方法的 Constructor参数对象数组initargs - 将作为变量传递给构造方法调用的对象数组appContext - 应用对象java.lang.ClassNotFoundException - 类未发现java.lang.NoSuchMethodException - 找不到匹配的方法java.lang.SecurityException - 如果存在安全管理器 s,并满足下列任一条件:调用
s.checkMemberAccess(this, Member.PUBLIC)
拒绝访问构造方法;调用者的类加载器不同于也不是当前类的类加载器的一个祖先,并且对
s.checkPackageAccess() 的调用拒绝访问该类的包java.lang.IllegalArgumentException - 如果实参和形参的数量不同;如果基本参数的解包转换失败;如果在可能的解包后,无法通过方法调用转换将参数值转换为相应的形参类型
;如果此构造方法属于枚举类型。java.lang.reflect.InvocationTargetException - 如果底层构造方法抛出异常java.lang.InstantiationException - 如果声明底层构造方法的类表示抽象类java.lang.IllegalAccessException - 如果此 Constructor 对象实施 Java
语言访问控制并且底层构造方法是不可访问的public static java.lang.reflect.Constructor getConstructor(java.lang.String className,
java.lang.Class[] parameterTypes)
throws java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException,
java.lang.SecurityException
className - 类名称,该类被AWS主ClassLoader加载,构造的对象是平台层Class资源parameterTypes - 匹配的公共构造方法的 Constructor参数对象数组java.lang.ClassNotFoundException - 类未发现java.lang.NoSuchMethodException - 找不到匹配的方法java.lang.SecurityException - 如果存在安全管理器 s,并满足下列任一条件:调用
s.checkMemberAccess(this, Member.PUBLIC)
拒绝访问构造方法;调用者的类加载器不同于也不是当前类的类加载器的一个祖先,并且对
s.checkPackageAccess() 的调用拒绝访问该类的包public static java.lang.reflect.Constructor getConstructor(java.lang.String className,
java.lang.Class[] parameterTypes,
java.lang.String appId)
throws java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException,
java.lang.SecurityException
className - 类名称,该类被app的ClassLoader加载,如果该app没有ClassLoader,从AWS主ClassLoader寻找parameterTypes - 匹配的公共构造方法的 Constructor参数对象数组appId - 应用Idjava.lang.ClassNotFoundException - 类未发现java.lang.NoSuchMethodException - 找不到匹配的方法java.lang.SecurityException - 如果存在安全管理器 s,并满足下列任一条件:调用
s.checkMemberAccess(this, Member.PUBLIC)
拒绝访问构造方法;调用者的类加载器不同于也不是当前类的类加载器的一个祖先,并且对
s.checkPackageAccess() 的调用拒绝访问该类的包public static java.lang.reflect.Constructor getConstructor(java.lang.String className,
java.lang.Class[] parameterTypes,
AppContext appContext)
throws java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException,
java.lang.SecurityException
className - 类名称,该类被app的ClassLoader加载,如果该app没有ClassLoader,从AWS主ClassLoader寻找parameterTypes - 匹配的公共构造方法的 Constructor参数对象数组appContext - 应用对象java.lang.ClassNotFoundException - 类未发现java.lang.NoSuchMethodException - 找不到匹配的方法java.lang.SecurityException - 如果存在安全管理器 s,并满足下列任一条件:调用
s.checkMemberAccess(this, Member.PUBLIC)
拒绝访问构造方法;调用者的类加载器不同于也不是当前类的类加载器的一个祖先,并且对
s.checkPackageAccess() 的调用拒绝访问该类的包public static AppContext getAppContext(java.lang.Class<?> c)
c - AppContext中的某个类Copyright © Actionsoft Co., Ltd. All Rights Reserved.