- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
JCodeModel 生成一个 import
语句来代替 import static
。例如,我有一个类,它具有 import nz.co.cloudm.cloudserv.api.pojos.core.file.attachment.Attachment.Status
而不是 import static nz.co.cloudm。 cloudserv.api.pojos.core.file.attachment.Attachment.Status
因此编译器会抛出错误。 Status
类是一个内部枚举,位于 Attachment
类中,正如您在 import 语句中看到的那样。
你知道我可以使用代码模型实现导入静态吗?
否则如何让成员使用类限定名?
private nz.co.cloudm.cloudserv.api.pojos.core.file.attachment.Attachment.Status status;
最佳答案
我不确定 codemodel 是否能够定义静态导入,因为它是一个较旧的库。您可以通过 ref()
方法使用枚举,因为静态导入实际上只是为程序员提供了便利:
public class Tester {
public enum Status{
ONE, TWO;
}
public static void main(String[] args) throws JClassAlreadyExistsException, IOException {
JCodeModel codeModel = new JCodeModel();
JClass ref = codeModel.ref(Status.class);
JDefinedClass outputClass = codeModel._class("Output");
outputClass.field(JMod.PRIVATE, ref, "status", ref.staticRef(Status.ONE.name()));
codeModel.build(new StdOutCodeWriter());
}
}
输出:
public class Output {
private test.Tester.Status status = test.Tester.Status.ONE;
}
关于java - Codemodel不生成静态导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276371/
我正在使用 com.sun.codemodel 来生成我的类。我需要根据索引参数动态获取数组值。 所以我有一个假设返回数组的调用 JcodeModel model = new JCodeModel(
我正在使用 com.sun.codemodel 生成我的类并添加 JSR303 注释。这工作正常,除非我想添加 @Pattern.List 注释。 field.annotate(Pattern.cla
似乎java代码生成器框架CodeModel无法创建仅包含枚举值没有名称的注释 - 不幸的是,这是一种非常常见的模式(JPA使用,例如): @Temporal(TemporalType.TIMES
使用CodeModel,有没有办法控制修饰符的顺序?特别是在创建字段时。 CodeModel 似乎有自己的修饰符顺序定义,这与 Java 语言规范以及 SonarQube 和 CheckStyle 等
我正在使用 Codemodel 库来生成 java 类。有没有办法生成如下所示的通用方法调用: clazz.get(value) 当然有一种方法可以使用以下表达式将返回结果转换为正确的类型: JExp
我正在使用Java Sun Codemodel即时生成 java 类,它对我来说效果很好。 现在我还有一个额外的挑战:如何控制代码的格式?有什么办法吗?特别是,我希望将所有大括号放在新行中,并希望将行
我想使用 Sun 的 CodeModel 生成一些非常常见的代码 while ((sbt = reader.readLine()) != null) { } 但是当我写时: JWhileLoop wh
有谁知道如何使用 CodeModel 生成以下泛型方法声明? public T getValue(Class clazz){...} 用法: ValueType value = getValue(V
本文整理了Java中com.sun.codemodel.writer.ZipCodeWriter类的一些代码示例,展示了ZipCodeWriter类的具体用法。这些代码示例主要来源于Github/St
我正在使用 java codeModel 生成 hibernate 实体类。 在表具有复合键的地方,我正在生成一个 @Embeddable 类,然后我需要在我的实体类中定义一个字段。 目前这个复合键类
我正在尝试使用代码模型生成下面的代码,但我不知道如何创建匿名类语法。我在代码模型文档中找不到它 ( https://codemodel.java.net/nonav/apidocs/index.htm
如何使用com.sun.codemodel生成此java语句? constructorArgs[constructorArgIndex] = null; 我尝试通过 component() 使用 co
我正在尝试使用 Java CodeModel library生成一些代码。在我生成的代码中,我需要执行类型转换。我想要这样的东西... foo.setBar( ((TypeCastToThis)som
我正在使用com.sun.codemodel生成一些java实体对象 我想生成一个 for 循环,如下所示:- for (final Field field : classFields) {} 但是我
我正在从 PeopleSoft 提供的 WSDL 生成自定义 Java 代码。我已经编写了几个 XJC 插件来尝试清理生成的代码以使其更易于使用——添加接口(interface)和自定义方法等。 但是
我如何使用 codeModel 向我的方法添加 @Override 注释? JMethod update = classe.method(JMod.PUBLIC, void.class,"update
我正在编写一个 eclipse 插件,它允许用户使用拖放式 UI 编写 java 代码。我遇到过这两个 java 源代码生成库。 Eclipse JDT AST 和代码模型。 我想了解一下这两个库的优
使用 com.sun.codemodel ,我想生成一个通用的 LinkedList 字段。我可以使用这段代码创建一个原始字段: JDefinedClass masterClass; String d
我一直在查看 Clang/LLVM 源代码,我发现了 CodeGenOptions 的 CodeModel 属性. 基于 this method ,有效值似乎是:"small"、"kernel"、"m
本文整理了Java中com.sun.codemodel.writer.ZipCodeWriter.toDirName()方法的一些代码示例,展示了ZipCodeWriter.toDirName()的具
我是一名优秀的程序员,十分优秀!