我的问题涉及编写JAXB插件,特别是JAXB代码模型.
ClassOutline(及其同伴)和JClass(和同伴)和CClass(和同伴)的角色是什么?在查看相应包中的类列表时,不清楚什么是鸡,什么是鸡蛋.
我的解释是CClass(CPropertyInfo,CEnumConstant...)是由XJC在XSD的初稿解析时创建的.然后,一些神奇的发生,这种模型转化为JClass(JFieldVar,JEnumConstant,...),这转变过程中的自定义应用.然后调用插件.ClassOutline用作这两个模型之间的桥梁.总之看起来非常复杂.
通过这些并行模型,我相信可以通过多种方式获得相同的信息.例如,类字段类型:
JClass#fields()→交通JFieldVar#type→交通JTypeCClassInfo#getProperties()→交通CPropertyInfo#baseType→交通JType我正在寻找上述模型生命周期的详细解释.谢谢.
我需要这样的东西
public void method() {
//TODO generated sources
}
Run Code Online (Sandbox Code Playgroud)
以下是我生成类和方法的方法
JCodeModel cm = new JCodeModel();
JDefinedClass dc = cm._class("MyClass");
JMethod method = dc.method(JMod.PUBLIC, cm.VOID,"method");
Run Code Online (Sandbox Code Playgroud)