问题标签 [jcodemodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jcodemodel - 为变量添加类型
jcodemodel 可以通过执行以下操作来添加私有属性:
但是,如果不使用 JDK 中的类,而是使用在调用字段 API 时不在类路径上的类,会发生什么?
您所知道的只是类名作为字符串,您的类路径中没有该类 - 其他人正在生成它。
jcodemodel - 在 JCodeModel 中实例化一个字段级 HashMap
我想在 JCodeModel 中一次性声明和实例化一个 HashMap。
我愿意:
声明它但不实例化它。我如何实例化它?
谢谢
java - 添加版权信息生成的java代码 - Jcodemodel
我正在使用 JCodeModel 生成 java 源代码。我会在生成的代码中添加版权信息。目前这可能吗?
我尝试javadoc()
在 JDefinedClass 中使用,它仅在类定义上方添加信息。
java - 使用 JCodeModel 生成 toString() 方法
我正在尝试使用com.sun.codemodel.JCodeModel
.
我已经设法生成hashcode()
和equals()
方法,但我正在努力toString()
;
我需要以下toString()
实现
如何创建一个JCodeModel
JExpression
包含JExpr.lit(field1.name())
与 连接的JExpr.ref(fieldVar.name())
?
我设法做的就是生成一个类似于以下的字符串文字:-
到目前为止,这是我的骨架方法:-
java - 自动初始化由 JCodeModel 创建的字段
我通过 Json 创建了一个新的 Java 类,即:
将产生:
我使用 JCodeModel 生成 StudentForm,Field 生成方法如下所示:
但我想在创建源时初始化字段。
有没有办法通过初始化来扩展 JFieldVar?
java - JAXB、XJC:为类大纲生成字段
我的问题涉及编写 JAXB 插件,尤其是ClassOutline
内部插件。
里面有com.sun.tools.xjc.outline.ClassOutline
字段:
- 目标
- 参考
- 实现类
- implRef
代码:
据我所知(所以回答):
target
- 在 中保存信息Model
,表示已解析和分析的架构文件 (.xsd)ref
通常等于implClass
并且两者都成立Code Model
implClass
是放置新生成的字段、方法等的正确位置。implRef
- 它是什么?
我想将新字段添加到描述的类中ClassOutline
,所以代码如下所示:
它工作得很好,直到在执行上述代码并使用com.sun.tools.xjc.outline.ClassOutline.getDeclaredFields()
方法之后有另一个插件工作。
想象一下 -Plugin1
创建新字段,然后执行CopyablePlugin并希望添加clone()
复制每个字段的方法。但CopyablePlugin
没有看到新生成的字段Plugin1
- 因为要从使用方法中检索所有字段,如下所示ClassOutline
:CopyablePlugin
com.sun.tools.xjc.outline.ClassOutline.getDeclaredFields()
请注意,它getDeclaredFields()
从字段中检索属性ClassOutline.target
(这是Model
已解析的 XSD 模式)并完全忽略生成到ClassOutline.implClass
.
它是错误还是功能?
现在我找到了解决方法。相同的字段也作为属性添加到target
:
问题
- 能解释一下吗,是什么角色
ref/implClass/implRef
? - 我应该在哪里生成全新的字段/方法?进
ref/implClass
? - 是否有必要保持 和 之间的
ref/implClass
一致性target
?添加到的新字段implClass
也应该添加到target
,对吗? - 是否
com.sun.tools.xjc.outline.ClassOutline.getDeclaredFields()
正确?或者如何正确地从 ClassOutline 中检索所有字段?也许这应该是target
和implClass
内容的结合?
java - 如何在使用 CodeModel 的方法内“生成源代码”创建和初始化 hashMap
要生成的源代码
能够创建为全局变量,但我需要在方法中创建它
java - 使用 JCodeModel,不应使用 SonarLint 报告来自“sun.*”包的类
我试图在一些从 JSON 模式生成 Java Pojo 类的代码中使用 com.sun.codemodel.JCodeModel 但 SonarLint 报告不应使用来自“sun.*”包的类。在符合要求的不同包中是否有 JCodeModel 的替代品?
java - 我们如何使用 JCodeModel 生成此方法
我正在使用 JCodeModel,但找不到如何生成从其超类返回调用的方法。
我所拥有的相关部分..
JDefinedClass jc = jp._class("NewPremiumDTO");
JMethod m = jc.method(JMod.PUBLIC, LP.class, "map");
m.body()._return(m.body().invoke("super"). arg(JExpr.ref("map")));
这将生成 2 行而不是像这样的 1
super(map);
return super(map);
在生成的方法中,但我想生成这个