java 类的放射-方法
来源:互联网 发布:sql 分组 求和 小计 编辑:程序博客网 时间:2024/05/16 03:08
/**
* Invoke Proxy method, dispatch request to specific operation
*
* @param transactionAction //类对象
* @param serviceRequest //参数
* @return ServiceResponse //返回参数
* @throws BusinessServiceException
*/
public static ServiceResponse executeOperation(Object transactionAction,
ServiceRequest serviceRequest) throws BusinessServiceException {
String operation = (String) serviceRequest.getParameter(CommonConstant.OPERA_TYPE_KEY);
if (StringUtils.isEmpty(operation)) {
throw new BusinessServiceException(
"No operation type set for transaction action");
}
if (transactionAction == null) {
throw new BusinessServiceException(
"Transaction Action object to execute is null");
}
try {
Method method = transactionAction.getClass().getMethod(operation, new Class[] { serviceRequest.getClass() });
Object result = method.invoke(transactionAction, new Object[] { serviceRequest });
if (result instanceof ServiceResponse) {
return (ServiceResponse) result;
}
} catch (InvocationTargetException e) {
Throwable target = e.getTargetException();
throw (target instanceof BusinessServiceException) ? (BusinessServiceException) target
: new BusinessServiceException(e.getMessage(), e);
} catch (Exception e) {
throw new BusinessServiceException(e.getMessage(), e);
}
return null;
* Invoke Proxy method, dispatch request to specific operation
*
* @param transactionAction //类对象
* @param serviceRequest //参数
* @return ServiceResponse //返回参数
* @throws BusinessServiceException
*/
public static ServiceResponse executeOperation(Object transactionAction,
ServiceRequest serviceRequest) throws BusinessServiceException {
String operation = (String) serviceRequest.getParameter(CommonConstant.OPERA_TYPE_KEY);
if (StringUtils.isEmpty(operation)) {
throw new BusinessServiceException(
"No operation type set for transaction action");
}
if (transactionAction == null) {
throw new BusinessServiceException(
"Transaction Action object to execute is null");
}
try {
Method method = transactionAction.getClass().getMethod(operation, new Class[] { serviceRequest.getClass() });
Object result = method.invoke(transactionAction, new Object[] { serviceRequest });
if (result instanceof ServiceResponse) {
return (ServiceResponse) result;
}
} catch (InvocationTargetException e) {
Throwable target = e.getTargetException();
throw (target instanceof BusinessServiceException) ? (BusinessServiceException) target
: new BusinessServiceException(e.getMessage(), e);
} catch (Exception e) {
throw new BusinessServiceException(e.getMessage(), e);
}
return null;
}
-------------------调用----------------------
public ServiceResponse perform(ServiceRequest serviceRequest)
throws BusinessServiceException {
return ControllerServiceUtilities.executeOperation(this, serviceRequest);
}
0 0
- java 类的放射-方法
- JAVA 放射、类的加载机制与垃圾回收
- java 放射机制简介
- 什么是java放射机制
- 放射
- 放射
- java放射机制(invoke)
- java中通过放射机制创建对象的两种方式
- java中通过放射机制创建对象的两种方式
- 怎么利用java放射机制进行对象的实例化等操作
- JAVA放射和字符串截取-----随笔
- 使用放射机制得到PackageManager类的隐藏函数getPackageSizeInfo,从而得到包的大小
- 关于C#放射的入门搜集整理
- 【Java】【反射】 使用放射方式去实现一个接口
- ps photoshop,如何做出太阳光放射的效果,如图
- C# 中放射获取当前变量的值
- 基于arcgis的城市放射状指数研究
- 放射变换
- 4个好习惯让你做个健身达人
- 九月优化新算法:据说百度偏爱网站内页!
- 安装SqlServer2008R2报语言不符的错的解决方案
- 快速生成100W数据
- 通过composer发布自己的包
- java 类的放射-方法
- C#实现数字字符串左补齐0的两种方法
- POJ 1747 Expression(找规律 递归)
- Ajax中Get请求和Post请求的区别
- java内存分配分析/栈内存、堆内存
- android shareduserid
- Largest prime factor(素数表的巧用)
- AVURLAsset cache
- java保留两位小数4种方法