【发布时间】:2012-08-01 05:53:00
【问题描述】:
Java OpenGL GL 接口包含大约 2000 个方法,出于调试目的,我想包装一个实例并在进行一些日志记录时委托对它的调用。在每种情况下,日志代码都可以推送到相同的方法,因此写出方法实现的任务看起来可以自动化。我正在尝试做的一个例子:
import javax.media.opengl.GL;
public class GLErrorLogger implements GL {
private final GL backing;
public GLErrorLogger(GL delegateToMe) {
backing = delegateToMe;
}
private void checkErrorCode() {
// Log frame and thread details depending on gl state
}
/**
* Example of a method
*/
@Override
public int glGenLists(int arg0) {
checkErrorCode();
int retVal = backing.glGenLists(arg0);
checkErrorCode();
return retVal;
}
// rest of methods here...
}
换句话说,将方法名称和参数(减去它们的类型)复制到对支持对象的调用中,并围绕对日志记录方法的调用,如果有返回类型,则将结果分配给该类型的变量并在方法结束时返回。
我查看了创建一次性 Eclipse 代码模板来自动生成方法,但没有立即明显的方法来对返回类型进行模式匹配。任何人都可以建议一种在 Eclipse 或其任何代码生成工具中执行此操作的方法,以节省我提取正则表达式工具包的时间吗?
【问题讨论】:
-
使用Aspecj4j并实现一个cut怎么样?见stackoverflow.com/questions/8839077/…
标签: java eclipse templates code-generation pattern-matching