类 ObjectUtil
java.lang.Object
org.beetl.core.fun.ObjectUtil
java对象一些操作util类,并缓存一些中间结果以提高性能
- 作者:
-
字段概要
字段修饰符和类型字段说明static Map<Class,ObjectInfo> static Object[]static final Map<Class,Map<String, MethodInvoker>> -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected static PropertyDescriptorfind(PropertyDescriptor[] pd, String name) protected static PropertyDescriptorfindIsMethod(PropertyDescriptor[] pd, String methodName) static ObjectMethodMatchConffindMethod(Class target, String methodName, Class[] parameterType) 找到某个类的某个方法,方法名是methodName,参数是parameterType。static ClassgetClassByName(String clsName, ClassLoader loader) 针对Class.forName的一个简单封装,根据类名获得类static ClassLoaderprotected static MethodgetGetMethod(Class c, String methodName, Class... paras) 获取对象的某个方法,如果无此方法,则仅仅返回nullstatic StringgetGetMethod(String attrName) 已过时。并不遵循java规范static MethodInvokergetInvokder(Class c, String name) 得到一个可供调用get属性的invoker,invoker用于封装对对象的属性读取static StringgetIsMethod(String attrName) 已过时。并不遵循java规范static ObjectInfogetObjectInfo(Class<?> c) 获取一个ObjectInfostatic StringgetSetMethod(String attrName) 已过时。并不遵循java规范static booleanhasPrivateAttribute(Class c, String name) 判断对象是否有此变量,从方法用于友好提示,属性无法访问的时候,是否是没有getter方法static Objectinstance(String clsName, ClassLoader loader) 针对Class.forName(clsname).newInstance()的一个简单封装static Objectinvoke(Object o, ObjectMethodMatchConf conf, Object[] paras) static ObjectinvokeObject(Object o, String methodName, Object[] paras) static ObjectinvokeStatic(Class target, String methodName, Object[] paras) 调用类的静态方法,只知道方法名和参数,beetl将自动匹配到能调用的方法static ObjectMethodMatchConf看给定的参数是否匹配给定方法的参数protected static PropertyDescriptor[]propertyDescriptors(Class<?> c) static ObjecttryInstance(String clsName, ClassLoader loader) 实例化一个类,如果不成功,返回null
-
字段详细资料
-
methodInvokerCache
-
cachedClassInfoMap
-
EMPTY_OBJECT_ARRAY
-
-
构造器详细资料
-
ObjectUtil
public ObjectUtil()
-
-
方法详细资料
-
propertyDescriptors
-
find
-
findIsMethod
-
getInvokder
得到一个可供调用get属性的invoker,invoker用于封装对对象的属性读取- 另请参阅:
-
- "https://gitee.com/xiandafu/beetl/issues/I11WQV ,关于2.0兼容的一个bug修复"
-
getGetMethod
获取对象的某个方法,如果无此方法,则仅仅返回null- 参数:
c- 对象methodName- 方法名paras- 参数列表
-
match
看给定的参数是否匹配给定方法的参数- 参数:
paras- 输入的参数- 返回:
- 如果不为null,则匹配,其包含了匹配信息
-
invokeStatic
public static Object invokeStatic(Class target, String methodName, Object[] paras) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException 调用类的静态方法,只知道方法名和参数,beetl将自动匹配到能调用的方法 -
invokeObject
public static Object invokeObject(Object o, String methodName, Object[] paras) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException -
invoke
public static Object invoke(Object o, ObjectMethodMatchConf conf, Object[] paras) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException -
findMethod
public static ObjectMethodMatchConf findMethod(Class target, String methodName, Class[] parameterType) 找到某个类的某个方法,方法名是methodName,参数是parameterType。该方法 试图考虑到带有原始类型或者wrap类型的参数 -
getClassByName
针对Class.forName的一个简单封装,根据类名获得类- 返回:
- 如果未加载成功,则抛出Runtime异常
-
instance
针对Class.forName(clsname).newInstance()的一个简单封装- 返回:
- 如果未能创建实例,则抛出runtime异常
-
tryInstance
实例化一个类,如果不成功,返回null -
getObjectInfo
获取一个ObjectInfo -
getGetMethod
已过时。并不遵循java规范已知属性名,得出get方法,如属性名是name,get方法是getName 遵循javabean规范 -
getSetMethod
已过时。并不遵循java规范已知属性名,得出set方法,如属性名是name,get方法是setName 遵循javabean规范 -
getIsMethod
已过时。并不遵循java规范已知属性名,得出is方法,如属性名是boy,is方法是isBoy 遵循javabean规范 -
getClassLoader
-
hasPrivateAttribute
判断对象是否有此变量,从方法用于友好提示,属性无法访问的时候,是否是没有getter方法
-