问题标签 [sun-codemodel]
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.
java - 如何向使用 JCodeModel 扩展的类添加泛型类型参数?
我正在玩JCodeModel并尝试生成一个类;多亏了这个链接,我才能想出这个:
所以,这行得通。标准输出上生成的代码是:
到目前为止,一切都很好。
现在,问题是我想extends BaseParser<Object>
而不是BaseParser
......尽管在谷歌上搜索了好几个小时,但我无法弄清楚如何做到这一点......
我该怎么做呢?
sun-codemodel - 无法在代码模型中创建抽象类?
我的代码:
无论我写什么mods
或ClassType
参数,结果总是一个public class
.
如何创建抽象类?
java - JExpression在if语句中添加字符串值作为属性
我正在开发一个插件,使用CodeModel在我的项目中创建 toString 语句。
生成的代码应如下所示:
(在上面的代码中是一个简单的StringBuilder)
我想使用 CodeModel 在 if 语句中自动生成新的行和制表符,并且到目前为止已经得到了这个输出:
问题是围绕变量的引号,当我为变量值分配 JExpression 文字值时,这些引号就在那里。当前的实现如下所示:
有谁知道如何使用 JExpression 或 CodeModel 中的其他任何东西来完成这项工作?到目前为止,我唯一的选择是使用 directStatement 来完成,如下所示:
java - 将 JExpression (JOp.cond()) 添加到 JBlock (JMethod 主体)
我想将 if - else 语句重构为三元运算符。
if ((variable) == null) {
... do something
} else {
... do something else
}
使用 Codemodel 创建三元运算符非常简单,与 JOp.cond() 一样,我们可以传入条件、ifTrue 和 ifFalse 参数以返回三元语句。
我的问题是将 JExpression 添加到方法主体(JBlock)中:
有人知道如何将 JExpression 添加到 JBlock 吗?
java - Sun Codemodel 泛型方法调用
我正在使用 Codemodel 库来生成 java 类。有没有办法生成如下所示的通用方法调用:
当然有一种方法可以使用以下表达式将返回结果转换为正确的类型:
这导致
但首选的转换方式是第一种,因为此代码正在生成模板以供开发人员进一步手动编辑。
java - 使用 jsonschema2pojo 或 com.sun.codemodel 时在类的开头添加注释
我正在尝试使用 jsonSchema 创建 POJO。
我发现了一个名为jsonschema2pojo的项目,除了几个问题外,它似乎很合适。
我愿意分叉该项目并添加一些自定义项(例如自定义注释和可能的方法)。
该项目使用 com.sun.codemodel 来构建类。
由于生成的代码将投入生产,我需要在文件开头添加版权声明。
我在 jsonschema2pojo 或 codemodel 中都没有找到任何解决方案。各位有什么解决办法吗?
java - 如何在 Annotation 中生成/声明注释字段?
我想得到这样的东西:
问题是我不能使用 JFieldVar,因为它看起来像这样:
java - JCodemodel 中的异常消息
我正在使用 JCodemodel 动态生成 java 类。下面是创建 switch 语句的代码,其默认情况是抛出异常。
生成的类如下所示
现在我想向抛出的异常添加一条消息,例如
我如何在 JCodemodel 中实现这一点。任何帮助,将不胜感激。
java - Codemodel:如何实现方法引用
我有一个具有如下 getter 方法的接口
我想创建另一个类,我想在其中引用 IAddress 的 getter 方法,例如IAddress::getId
.
如何在 JCodeModel 中实现这一点?
generics - 如何生成可选> 在 JCodeModel 中?
我想为以下方法创建 JCodeModel:
我目前正在使用下面的代码来创建类的返回类型。
但是上面的代码给出了一个高优先级的 FindBug 错误PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS
。
谁能帮我优化上面的代码行?