📄 actionproxy.java
字号:
package com.waimai.experiment;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Arrays;
import java.util.List;
import com.waimai.web.AbstractCRUDAction;
import com.waimai.web.BaseAction;
/**
* 描述:
*
* @author Stone yang 创建日期:2007-5-20
* @version pattern Study 技术支持: <a
* href="http://blog.csdn.net/yq76034150">http://blog.csdn.net/yq76034150</a>
*/
public class ActionProxy implements InvocationHandler {
private List<String> methods;
private Object target;
/**
* 描述:构造函数
*
* @param methods
* @param target
* @author Stone yang 创建时间:2007-5-20
*/
public ActionProxy(Object target, String... methodNames) {
this.methods = Arrays.asList(methodNames);
this.target = target;
}
public static Object getInstance() {
ActionProxy actionProxy = new ActionProxy(new BaseAction(), "load","store","remove");
return Proxy.newProxyInstance(AbstractCRUDAction.class.getClassLoader(),
new Class[] {AbstractCRUDAction.class}, actionProxy);
}
/**
* 描述:
*
* @author Stone yang
* @see java.lang.reflect.InvocationHandler#invoke(java.lang.Object,
* java.lang.reflect.Method, java.lang.Object[])
*/
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
// TODO 自动生成方法存根
this.doBegin();
return method.invoke(target, args);
}
/**
*
* 描述:
*
* @author Stone yang 创建时间:2007-5-20
*/
private void doBegin() {
// TODO 自动生成方法存根
//权限检查代码
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -