我正在开发一个模块,我必须将一组逻辑表示和其他数据转换为 Java 源代码。
我希望能够首先将它们转换为 Java 元素(类、方法等)的中间表示,然后将此中间表示转换为实际的字符串/文本文件。
例如,我希望能够构造这样的元素:
JavaClass myClass = new JavaClass("MyClass", "MyParent", new String[] {"MyInterface", "MySecondInterface"});
然后让 myClass 的 toString() 方法输出类似:
class MyClass extends MyParent implements MyInterface, MySecondInterface { }
等等变量,方法,语句等 - 最好是格式化。只是为了演示,这个例子被过度简化了——实际上我更喜欢至少类似于抽象语法树的表示。
我查看了 com.sun.org.apache.bcel.* 包,但由于它是用于字节码的,因此在这里没有多大帮助。转换框架(例如 Recoder)似乎也不是我想要的。
谁能推荐一个我可以使用的框架?