我需要为类创建代理。我无法访问具体的主题,但只能访问主题界面。我也有一个工厂方法来创建原始实现的实例。正则表达式创建代理类
如果我使用Eclipse,我可以得到每一个方法存根:
@Override
public R1 method(T1 p1) {
// TODO Auto-generated method stub
return null;
}
我需要这样的创建实现:
@Override
public R1 method(T1 p1) {
return instance.method(p1);
}
因为有很多的方法,我用正则表达式与搜索和替换。搜索:
public ([a-z,A-Z,\.]*) ([a-z,A-Z]*)\(([a-z,A-Z]* ([a-z,A-Z]*))?\) \{\r\n([ ,\t]*)// TODO Auto-generated method stub\r\n[ ,\t]*return [0-9,a-z,A-Z]*\;
并将其替换:
public \1 \2\(\3\) \{\r\n\5return instance\.\2\(\4\);
有没有更好的解决办法?
另一个问题自带了占用更多PARAMS方法:
@Override
public R1 method(T1 p1, T2 p2) {
// TODO Auto-generated method stub
return null;
}
我发现的唯一的解决办法是有则params的每个号码不同的搜索替换对。有更好的解决方案吗?
您是否避免动态代理,因为开销太多? – biziclop 2012-01-29 20:06:00