- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有谁知道如何使用 CodeModel 生成以下泛型方法声明?
public <T> T getValue(Class<T> clazz){...}
用法:
ValueType value = getValue(ValueType.class);
现有的实现似乎无法处理。
我知道我可以按如下方式处理代码,但它需要转换:
public Object getValue(Class class){...}
用法:
ValueType value = (ValueType)getValue(ValueType.class);
显然,由于类型转换的原因,这有点乱。
最佳答案
使用Object
返回类型创建方法,生成方法,然后覆盖返回类型。
final JDefinedClass exampleClass = codeModel._class( "com.example.ExampleClass" );
final JMethod method = exampleClass.method( JMod.PUBLIC, Object.class, "getValue" );
final JTypeVar t = method.generify( "T" );
method.type( t );
method.param( codeModel.ref( Class.class ).narrow( t ), "type" );
method.body()._return(JExpr._null());
关于java - Sun CodeModel 泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355160/
我正在使用 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()的具
我是一名优秀的程序员,十分优秀!