问题标签 [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.

0 投票
1 回答
547 浏览

java - 如何删除 JDefinedClass 上的注释

我正在 jsonschema2pojo 中编写一个自定义注释器,以调整此代码生成器如何使用 Jackson 注释来注释生成的类。

为了简化用例,我手头有一个 JClass,它已经用

我想将其替换为:

我正在使用 com.sun.codemodel:codemodel:2.6

如果我尝试添加注释而不删除原始注释

然后我收到一个编译错误,说我的模式不能超过一个@JsonInclude。

所以我尝试在添加之前删除注释

但是注释的集合是不可修改的......

有没有办法从 JDefinedClass 中删除特定的注释?

0 投票
2 回答
432 浏览

java - 如何向使用 JCodeModel 扩展的类添加泛型类型参数?

我正在玩JCodeModel并尝试生成一个类;多亏了这个链接,我才能想出这个:

所以,这行得通。标准输出上生成的代码是:

到目前为止,一切都很好。

现在,问题是我想extends BaseParser<Object>而不是BaseParser......尽管在谷歌上搜索了好几个小时,但我无法弄清楚如何做到这一点......

我该怎么做呢?

0 投票
1 回答
114 浏览

java - 通过代码(而不是 Javac 等)将 Java 文件(从 JCodeModel)转换为 Java 类

我确实有以下代码,它使用 XSD 文件来创建 Java 文件。现在,我需要将 Java 文件(从 JCodeModel)转换为 Java 类,我可以在我的项目中创建/使用它。不幸的是,它是在运行时创建的,所以我无法将它添加到项目中。重要的是,解决方案基于代码。那么,如何通过代码(而不是使用 Javac 等)将 Java 文件转换为 Java 类?

生成的文件jCodeModel.build(new File(directory));如下所示:

0 投票
1 回答
50 浏览

java - 如何在 Annotation 中生成/声明注释字段?

我想得到这样的东西:

问题是我不能使用 JFieldVar,因为它看起来像这样:

0 投票
1 回答
1447 浏览

java - 如何使用 JCodeModel 生成泛型方法?

我需要生成一个通用方法,例如

以前有人做过吗?

0 投票
1 回答
126 浏览

java - JCodemodel 中的异常消息

我正在使用 JCodemodel 动态生成 java 类。下面是创建 switch 语句的代码,其默认情况是抛出异常。

生成的类如下所示

现在我想向抛出的异常添加一条消息,例如

我如何在 JCodemodel 中实现这一点。任何帮助,将不胜感激。

0 投票
0 回答
202 浏览

java - Codemodel:如何实现方法引用

我有一个具有如下 getter 方法的接口

我想创建另一个类,我想在其中引用 IAddress 的 getter 方法,例如IAddress::getId.

如何在 JCodeModel 中实现这一点?

0 投票
1 回答
208 浏览

generics - 如何生成可选> 在 JCodeModel 中?

我想为以下方法创建 JCodeModel:

我目前正在使用下面的代码来创建类的返回类型。

但是上面的代码给出了一个高优先级的 FindBug 错误PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS

谁能帮我优化上面的代码行?

0 投票
0 回答
165 浏览

java - 如何通过 Sun JCodeModel 创建 Java 8 Consumer 代码

如何创建看起来像这样的 Java 8 代码,而不使用带有“com.sun.codemodel.JExpr.direct(String)”的版本:

目标(整行看起来像这样,但我感兴趣的部分只是消费者方法的第二个参数(java.util.function.Consumer)):

目前用于生成该部分代码:

为清楚起见,consume 方法:

0 投票
2 回答
251 浏览

java - 使用代码模型扩展内部类

如何从内部静态类扩展生成的类?

例如,我有

我希望我生成的类从 Bar 扩展

我得到的是

但我想要的是

解决方案

你应该像这样传递类名:

CodeModel 会生成